hadoop学习之hadoop完全分布式集群安装
2014-03-27 15:47
537 查看
Java中String类的比较方法分析
1.==:
在Java中,String是个类而不是类型,这就是为什么String开头字母是大写而不是小写,并且IDE中String没有标蓝显示的原因。
因为String不是类型,所以不能用==做比较。
2.equals:
equals是Object类的方法,用于比较两个对象是不是同一个引用。
那么,问题来了:挖掘机技术哪家强?上面说过String是类,为什么两个相同值的String使用equals比较是,结果会为true?
3.contains:
contains参数有CharBuffer, Segment, String, StringBuffer, StringBuilder这4中类型。
contains用于检查对象是否包含指定char值序列,听着比较模糊还是用实例吧
4.contentEquals:
这个应该是String重写的equals,仅判断内容是否一致,不再考虑是否同一对象,因此下面实例结果为true,尽管是两个不同对象。
5.equalsIgnoreCase:
这个就比较简单了,它是String与String之间的比较,不用考虑对象问题,仅仅是比较两个字符串是否一样,特殊点就是不区分大小写。
我就偷个懒,不写实例了。
本文出自 “听雨轩” 博客,请务必保留此出处http://heyijx2.blog.51cto.com/925730/1604287
1.==:
在Java中,String是个类而不是类型,这就是为什么String开头字母是大写而不是小写,并且IDE中String没有标蓝显示的原因。
因为String不是类型,所以不能用==做比较。
2.equals:
equals是Object类的方法,用于比较两个对象是不是同一个引用。
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(); System.out.println(sb1.equals(sb2));//结果为false } }sb1和sb2是两个独立创建的对象,不是同一引用,因此结果为false。但是如果改成sb2引用sb1对象,结果则不同,如下
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = sb1; System.out.println(sb1.equals(sb2));//结果为true } }此时,sb2引用sb1,因此用equls做对比是,结果为true。
那么,问题来了:挖掘机技术哪家强?上面说过String是类,为什么两个相同值的String使用equals比较是,结果会为true?
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "山东技校找蓝翔"; String str2 = "山东技校找蓝翔"; System.out.println(str1.equals(str2));//结果为true } }个人认为,String是有个String池的,str1时就把它写入了String池中,str2是则先会去String池中找有没有“山东技校找蓝翔”,如果有则直接引用,没有再创建。因此实际上str2是str1的引用,所以equals比较结果为true。
3.contains:
contains参数有CharBuffer, Segment, String, StringBuffer, StringBuilder这4中类型。
contains用于检查对象是否包含指定char值序列,听着比较模糊还是用实例吧
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "山东技校找蓝翔。计算机技术哪家强?"; String str2 = "山东技校找蓝翔"; System.out.println(str1.contains(str2));//结果为true } }因为contains不是比较,而是“包含”关系,所以结果为true。
4.contentEquals:
这个应该是String重写的equals,仅判断内容是否一致,不再考虑是否同一对象,因此下面实例结果为true,尽管是两个不同对象。
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "山东技校找蓝翔"; StringBuffer sb1 = new StringBuffer("山东技校找蓝翔"); System.out.println(str1.contentEquals(sb1));//结果为true } }
5.equalsIgnoreCase:
这个就比较简单了,它是String与String之间的比较,不用考虑对象问题,仅仅是比较两个字符串是否一样,特殊点就是不区分大小写。
我就偷个懒,不写实例了。
本文出自 “听雨轩” 博客,请务必保留此出处http://heyijx2.blog.51cto.com/925730/1604287
相关文章推荐
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- Hadoop学习之Hadoop完全分布式集群安装
- hadoop学习之hadoop2.8.0完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop2.8.0完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- <转> hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- adoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习之hadoop完全分布式集群安装
- hadoop学习通过虚拟机安装hadoop完全分布式集群