关于java的String的equals()

一直以为String的equals()是百分百准确能判断字符串是否相等的,直到今天遇到的情况:
String value = 从properties文件取得的值。
idea的debug看value="server"
然后if("client".equals(value)){
sout("hello");
}
竟然真的判断client跟server两字符串相等。。。。
闹了半天,
String tempValue = String.valueOf(value);
再使用tempValue去判断。。。。
不知道原因,做个记录。

原文地址:http://blog.51cto.com/13588844/2174897

时间: 2024-10-29 13:57:31

关于java的String的equals()的相关文章

java:String使用equals和==比较的区别

"=="操作符的作用 1.用于基本数据类型的比较 2.判断引用是否指向堆内存的同一块地址. equals所在位置: 在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写 public boolean equals(Object obj) { return (this == obj); } equals的作用: 用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型 equals的基本使用: boolean

java中String的equals()和 ==

1 String a=new String("java"); 2 String b=new String("java"); 3 System.out.println(a.equals(b));//true 4 System.out.println(a==b);//false 5 String d="java"; 6 String e="java"; 7 System.out.println(d.equals(e));//tru

【Java】整理关于java的String类,equals函数和比较操作符的区别

初学 Java 有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String 这个特殊的对象有了点感悟大家先来看看一段奇怪的程序: public class TestString {       public static void main(String[] args) {           String s1 = "Monday";           String s2 = "Monday&qu

【Java】Java里String 的equals和==

Java里面有对象和对象的引用的概念,在String方面,==比较的是引用,equals比较的是对象的具体值. String s1 = new String("abc");String s2 = new String("abc");System.out.println(s1 == s2);System.out.println(s1.equals(s2)); 上面的代码将打印一个false和一个true.这个很容易理解,原因就是s1和s2分别是两个不同String对象

java integer String之equals vs ==

Integer a = new Integer(123); Integer b = new Integer(123); System.out.println(a == b); System.out.println(a.equals(b)); System.out.println(a.equals(123)); System.out.println(a == 123); 输出 falsetruetruetrue String a = new String("nihao"); String

java的String的equals方法和"=="比较

package stringTest; public class StringDemo { public static void main(String[] args){ //下面两种方法定义的字符串是不一样的 String s1 = new String("abc"); String s2 = "abc"; String s3 = "abc"; //s2和s3指向常量池中同一个区域 /** * String类中的equals方法,复写了Obje

Java中String.equals()方法的实现代码

java中String类里的String.equals()方法: 源代码: public boolean equals(Object anObject) { //如果是同一个对象 if (this == anObject) { return true; } //如果传递进来的参数是String类的实例 if (anObject instanceof String) { String anotherString = (String)anObject; int n = count;//字符串长度 i

Java中String推断相等equals与==的差别以及StringBuilder的equals

Java中String类型具有一个equals的方法能够用于推断两种字符串是否相等,可是这样的相等又与运算符==所推断的"相等"有所不同,接下来进行分析,结论由程序进行验证 String的equals函数仅仅要两个字符串"看起来"相等,就能够返回true,"看起来"相等意思指的是,当两个字符串对象所存放的内容同样时,不须要存放的内存地址同样,可是==推断则仅仅有当推断的两个变量所使用的内存地址为同样时才返回true.比如有两个长得一模一样的双胞胎

Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference xxx 的问题分析与解决方案

最近,公司要求开发一个APP,所以很苦逼的学习了几天 Android 的上手手册,但是实际运用于开发中还是捉襟见肘,困难重重:好在的是,部门还有几个专门搞安卓的大佬可以问问,哈哈 好了,进入今天的正题吧,前天开发过程中,遇到一个如“标题”所示的问题,百思不得其解!最终上网搜报错的原因,才找到问题的所在:.xml文件中运用到了不存在的标签--我的是因为粗心把<View>写成了<view>,加载的时候找不到该标签,所以页面一直运行不出来. 所以,该问题基本出在于布局页面有错(有的错误页