==到目前为止,我一直在我的程序中使用运算符来比较我的所有字符串.但是,我遇到了一个错误,将其中一个更改为了.equals(),并修复了该错误.
是==坏?什么时候应该不应该使用它?有什么不同?
我有以下Java代码:
public String makinStrings() {
String s = "Fred";
s = s + "47";
s = s.substring(2, 5);
s = s.toUpperCase();
return s.toString();
}
Run Code Online (Sandbox Code Playgroud)
问题有点简单:String调用此方法时将创建多少个对象?
一开始我回答说创建了5个String对象,但是我的书中的答案说只创建了3个对象而没有给出解释(这是一个SCJP问题).
从我的观点来看,有5个对象:"Fred","47","Fred47","ed4","ED4".
我也在SCJP模拟考试中找到了这个问题,答案相同3.