java中的trim方法很奇怪

2025年02月05日 14:58
有5个网友回答
网友(1):

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

网友(2):

其实,你只要看一下源码就知道了,解释的很明白,trim是去除前后空白,如果没有空白,返回原对象,如果有,使用subString截取不含有空白的部分返回;
而subString,是new一个对象返回;
再看你定义的a是有空白的,所以trim之后是一个新对象,这个对象在堆空间,而b在字符串常量池,然后用==判断,肯定是false了,==和equals的区别就不用我再多说了吧

网友(3):

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

网友(4):

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

网友(5):

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