java中的trim方法很奇怪

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:27:53
举个例子来说吧:

String a=" abc ",b="abc";
a=a.trim();
System.out.println(a==b);

结果显示false,这是怎么回事,应该是true呀,别外求子串substring方法还有类似的问题出现,请java前辈予以解答

trim方法是对字符串进行去除“前后”空格的一个方法,不能去除字符串中间部分的空格。
举例:
String str = " aaa bbb ";
String result = str.trim();
输出结果:"aaa bbb"。

String 是对象,a==b判断的是a和b是不是一个对象,他们是不同的对象,只是内容相同而已,你应该这么判断
System.out.println(a.equals(b));
只有int float double boolean这些不是对象的类型才可以用==直接判断内容是否相同,别的都要用equals

==是用于对象地址的判断的,内容要用equals

System.out.println(a.equals(b));
==是比较地址的,而equal才是比较内容的,string型一定要用equals比较内容!