这两种 定义String的区别
String s1 = new String();
String s2 = "";
int x = 99;
=======================================
为什么
s1 = s1 + x;会报错
而
s2 = s2 + x;就不会报错?
如果写成s1 = "" + s1 + x;就不会报错了
有人能解释一下么?
============================================
============================================
第二个问题
Set<String> st = new TreeSet<String>();
String result = “”;
blablabla//假设现在随机将若干string加入st中
for (String each : st){
if(满足某些条件,假设至少有一个满足){
result = each;
}
}
S.O.P(result);//(控制台输出result)
问题是result会返回一组乱码,也就是说,"result = each;"只是赋了个索引,并没有把实际的数据复制给result。
我的解决方法是:把foreach loop拿出来单独写一个方法。
请问,除此之外,有没有别的方法可以是result接收到each的真实值。
谢谢。
------最佳解决方案--------------------
第二个问题也是对的呢?和电脑的配置有关吗?
------其他解决方案--------------------
我这没有错呢?