String或String Builder在下面的方法中哪个更可取?请解释。
ArrayList<String> list=new ArrayList< String >();
list.add(new String ("One"));
list.add(new String ("Two"));
list.add(new String ("Three"));
.
.
.
list.add(new String ("N"));
(或)
ArrayList<StringBuilder> list=new ArrayList<StringBuilder>();
list.add(new StringBuilder("One"));
list.add(new StringBuilder("Two"));
list.add(new StringBuilder("Three"));
.
.
.
list.add(new StringBuilder("N"));
答案 0 :(得分:0)
我的答案不是基于Google搜索,而是我自己的答案,我认为我的小努力可以帮助您更好地理解该主题。
Stringbuilder与字符串:
字符串是不可变的,而StringBuffer和StringBuider是可变的类。
StringBuffer是线程安全的并且是同步的,而StringBuilder不是,这就是为什么StringBuilder比StringBuffer更快的原因。
字符串concat +运算符在内部使用StringBuffer或StringBuilder类。
结论/答案:
与字符串相比,每个人都更喜欢stringbuilder
答案 1 :(得分:0)
这取决于您的要求,如果要修改位于特定索引处的对象,请使用字符串生成器。但是再次提醒您,如果您在多线程环境中工作,则必须谨慎使用字符串生成器,因为它是可变类。
如果不修改列表,则必须使用String。