日期:2011-03-22 16:17:00 来源:本站整理
java的关系运算符[Java编程]
本文“java的关系运算符[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
关系运算符生成的是一个“布尔”(Boolean)后果.它们评价的是运算对象值之间的关系.若关系是真实的,关系表达式会生成true(真);若关系不真实,则生成false(假).关系运算符包含小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)、等于(==)以及不等于(!=).等于和不等于实用于全部内建的数据范例,但其他对比不实用于boolean范例.
1. 查抄对象能否相等
关系运算符==和!=也实用于全部对象,但它们的含义普通会使初涉Java范畴的人找不到北.下面是一个例子:
//: Equivalence.java public class Equivalence { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1 == n2); System.out.println(n1 != n2); } } ///:~
此中,表达式System.out.println(n1 == n2)可打印出内部的布尔对比后果.常人城市认为输出后果必定先是true,再是false,因为两个Integer对象都是相同的.但固然对象的内容相同,句柄倒是差别的,而==和!=对比的恰好就是对象句柄.所以输出后果实际上先是false,再是true.这自然会使第一次接触的人感到诧异.
若想比较两个对象的实际内容能否相同,又该若何操作呢?此时,必须利用全部对象都实用的特别办法equals().但这个办法不实用于“主范例”,那些范例直接利用==和!=便可.下面举例阐明若何利用:
//: EqualsMethod.java public class EqualsMethod { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1.equals(n2)); } } ///:~
正如我们预计的那样,此时得到的后果是true.但事情并未到此完毕!假定您成立了自己的类,就象下面这样:
//: EqualsMethod2.java class Value { int i; } public class EqualsMethod2 { public static void main(String[] args) { Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2)); } } ///:~
此时的后果又变回了false!这是由于equals()的默许行为是对比句柄.所以除非在自己的新类中改变了equals(),不然不大概表现出我们但愿的行为.不幸的是,要到第7章才会学习若何改变行为.但要注意equals()的这种行为方法同时大概可以避免一些“灾难”性的事件.
大大都Java类库都实现了equals(),所以它实际对比的是对象的内容,而非它们的句柄.
以上是“java的关系运算符[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:<b>java的逻辑运算符</b>
- ·下一篇文章:java的自动递增和递减运算符
- ·中查找“java的关系运算符”更多相关内容
- ·中查找“java的关系运算符”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论