当前位置: 首页 > news >正文

微商城网站建设信息工作 网站建设内容

微商城网站建设信息,工作 网站建设内容,云电脑免费体验30天,汽车类网站设计规划如果是int类型#xff0c;判断相等的话直接使用 来判断#xff0c;例如#xff1a; int i 10; int j 10; System.out.print(i j)#xff1b; 如果是Integer类型#xff0c;则可以使用equals方法进行相等比较。 int与Integer的基本使用对比 #xff08…如果是int类型判断相等的话直接使用 来判断例如 int i 10; int j 10; System.out.print(i j) 如果是Integer类型则可以使用equals方法进行相等比较。 int与Integer的基本使用对比 1Integer是int的包装类int是基本数据类型 2Integer变量必须实例化后才能使用int变量不需要 3Integer实际是对象的引用指向此new的Integer对象int是直接存储数据值 4Integer的默认值是nullint的默认值是0。 5Integer型变量与int型变量之间可以直接比较此时自动进行拆箱操作。 总之要想比较两个Intger型变量的值最好用Integer.intValue()方法生成int型后再比较。 在初学Java时可能会经常碰到下面的代码 1 String str1 new String(“hello”); 2 String str2 new String(“hello”); 3 4 System.out.println(str1str2); 5 System.out.println(str1.equals(str2));   为什么第4行和第5行的输出结果不一样和equals方法之间的区别是什么如果在初学Java的时候这个问题不弄清楚就会导致自己在以后编写代码时出现一些低级的错误。今天就来一起了解一下和equals方法的区别之处。 一.关系操作符“”到底比较的是什么 下面这个句话是摘自《Java编程思想》一书中的原话 “关系操作符生成的是一个boolean结果它们计算的是操作数的值之间的关系”。 这句话看似简单理解起来还是需要细细体会的。说的简单点就是用来比较值是否相等。下面先看几个例子 public class Main { /*** param args*/ public static void main(String[] args) {// TODO Auto-generated method stubint n3;int m3;System.out.println(nm);String str new String(hello);String str1 new String(hello);String str2 new String(hello);System.out.println(str1str2);str1 str;str2 str;System.out.println(str1str2); }} 输出结果为 true false true nm结果为true这个很容易理解变量n和变量m存储的值都为3肯定是相等的。而为什么str1和str2两次比较的结果不同要理解这个其实只需要理解基本数据类型变量和非基本数据类型变量的区别。 在Java中游8种基本数据类型 浮点型float(4 byte), double(8 byte) 整型byte(1 byte), short(2 byte), int(4 byte) , long(8 byte) 字符型: char(2 byte) 布尔型: boolean(JVM规范没有明确规定其所占的空间大小仅规定其只能够取字面值true和false) 对于这8种基本数据类型的变量变量直接存储的是“值”因此在用关系操作符来进行比较时比较的就是 “值” 本身。要注意浮点型和整型都是有符号类型的而char是无符号类型的char类型取值范围为0~2^16-1). 也就是说比如 int n3; int m3; 变量n和变量m都是直接存储的3这个数值所以用比较的时候结果是true。 而对于非基本数据类型的变量在一些书籍中称作为 引用类型的变量。比如上面的str1就是引用类型的变量引用类型的变量存储的并不是 “值”本身而是于其关联的对象在内存中的地址。比如下面这行代码 String str1; 这句话声明了一个引用类型的变量此时它并没有和任何对象关联。 而 通过new String(“hello”)来产生一个对象也称作为类String的一个实例并将这个对象和str1进行绑定 str1 new String(“hello”); 那么str1指向了一个对象很多地方也把str1称作为对象的引用此时变量str1中存储的是它指向的对象在内存中的存储地址并不是“值”本身也就是说并不是直接存储的字符串hello。这里面的引用和C/C中的指针很类似。 因此在用对str1和str2进行第一次比较时得到的结果是false。因此它们分别指向的是不同的对象也就是说它们实际存储的内存地址不同。 而在第二次比较时都让str1和str2指向了str指向的对象那么得到的结果毫无疑问是true。 二.equals比较的又是什么 equals方法是基类Object中的方法因此对于所有的继承于Object的类都会有该方法。为了更直观地理解equals方法的作用直接看Object类中equals方法的实现。 该类的源码路径为C:\Program Files\Java\jdk1.6.0_14的src.zip 的java.lang路径下的Object.java视个人jdk安装路径而定。 下面是Object类中equals方法的实现 很显然在Object类中equals方法是用来比较两个对象的引用是否相等即是否指向同一个对象。 但是有些朋友又会有疑问了为什么下面一段代码的输出结果是true public class Main { /*** param args*/ public static void main(String[] args) {// TODO Auto-generated method stubString str1 new String(hello);String str2 new String(hello);System.out.println(str1.equals(str2)); }} 要知道究竟可以看一下String类的equals方法的具体实现同样在该路径下String.java为String类的实现。 下面是String类中equals方法的具体实现 可以看出String类对equals方法进行了重写用来比较指向的字符串对象所存储的字符串是否相等。 其他的一些类诸如DoubleDateInteger等都对equals方法进行了重写用来比较指向的对象所存储的内容是否相等。 总结来说 1对于如果作用于基本数据类型的变量则直接比较其存储的 “值”是否相等 如果作用于引用类型的变量则比较的是所指向的对象的地址 2对于equals方法注意equals方法不能作用于基本数据类型的变量 如果没有对equals方法进行重写则比较的是引用类型的变量所指向的对象的地址 诸如String、Date等类对equals方法进行了重写的话比较的是所指向的对象的内容。
http://www.hkea.cn/news/14494613/

相关文章:

  • 网站服务器查询所有外包网站
  • 东莞怎么制作网站wordpress封面外链
  • 如何做视频类网站旅游景点网站建设设计说明
  • 建网站需要什么编程技术网络营销和直播营销的区别
  • 网站建设公司现状html免费的模板网站有哪些
  • 站长工具综合查询系统企业网站通常包含的栏目
  • 亚网互联网站设计网站字头优化
  • php网站开发实例教程第九章网站网站开发公司
  • 建设一个什么网站赚钱物流网站制作怎么做
  • 建网站需要什么软件聚家网装修平台
  • 凤翔做网站国发网站建设
  • 脚本语言在网站开发中甜品售卖网站网页设计
  • 网站做预览文档天津铁路建设投资控股(集团)网站
  • 企业网站备案需要多久网站icp做年检
  • 万网网站建设万网网站建设app软件制作
  • 网站开发综合实训怎么做宣传
  • 网站特色怎么写网站使用费用
  • 在自己的电脑建设空间网站求南浦做电商网站
  • 发任务做任务得网站大一做家教的网站
  • 网站开发公司飞沐中国人做暧暧视频网站
  • 网站的建设与管理系统徐汇手机网站建设
  • 服务器网站建设流程图静海做网站公司
  • 聊城做网站费用价位广告公司网站源码下载
  • j网站开发的相关知识做信息发布网站要多少钱
  • 微信微网站是什么格式的电子商城怎么注册
  • 网站备案现场自学学网页设计
  • 企业网站建站意义民治做网站
  • 赣州市城乡建设局官方网站网站备案主体是
  • 陕西网站开发哪家好谷歌浏览器怎么下载
  • 内部网站开发黄村做网站哪家好