java字符串操作


图片描述

这段程序应该是输出true吧, 为何结果是false

java

偶是UP主马甲 9 years, 2 months ago

如果是

System.out.println("yyg".substring(0, 0).equals(""));
结果是true

如果是

System.out.println("yyg".substring(0, 0)==new String(""));
结果是false

有没有观察到两者区别。
一个是字符串相等,一个是对象。第二个因为你new 构造了一个新的对象。虽然所指向的值相等。但是不同对象,不一样的

木丁丁的凹凸曼 answered 9 years, 2 months ago

Your Answer