StringBuffer append()还是String +? - java

This question already has answers here:

Closed 8 years ago.

Possible Duplicate:
java String concatenation
StringBuilder vs String concatenation in toString() in Java

我读过一些有关append()的文章比+快得多,但是这是什么原因,为什么我们要在整个append()上使用+?谢谢!

参考方案

+创建新的中间String对象,因为Java中的字符串是immutable,而StringBufferappend()在相同的字符串上起作用,这就是为什么它被认为更快的原因。但是,您应该在病房的Java 5中使用StringBuilder,因为据说它比StringBuffer更快,因为它的方法不像StringBuffer那样是synchronized

这是高级的理论解释。有关更多详细信息,请参见String concatenation: concat() vs "+" operator帖子。

在Java中,执行“ ++++++++”表达式,编译器未报告任何错误并且可以正确执行? - java

我用eclipse编写了这段代码,用war写过,结果为3d。public static void main(String[] args) { double a = 5d + + + + + +-+3d; System.out.println(a); } 参考方案 您的表情可以改写为(5d) + (+ + + + +-+3d) 其中第一个+是应用于两个操作数的…

Java值加变量++ - java

考虑以下代码int val1 = 3; val1++; int val2 = val1++; System.out.println(val1); System.out.println(val2); Val1值= 5;Val2值= 4;为什么Val1的值是“ 5”?据我了解,应该为4,因为:在第1行,它的赋值为3,在第2行,通过val1 ++加上1,结果val…

什么时候在Hibernate中调用flush()和commit()? - java

我有以下情况: openSession() tx = session.beginTransaction(); try { ... session.saveOrUpdate(obj_1); ... session.saveOrUpdate(obj_2); ... session.saveOrUpdate(obj_3); session.flush(); tx.…

无法从上下文访问getContentResolver()? - java

我有两个类,MainActivity和DoHardWork。 DoHardWork扩展了AsyncTask,在该类中,我需要访问上下文以获取contentResolver并进行查询。没问题吧?让我们将其作为参数传递给DoHardWork: Context currCont = this; new DoHardWork(currCont).execute();…

如何在过滤器()java8中使用peek()? - java

我有一个LinkedHashMap。sorted:{0=[1, 2], 5=[4, 3], 1=[2, 0, 3], 2=[4, 0, 1], 3=[4, 5, 1], 4=[5, 2, 3]} 我尝试根据其大小过滤每个键的值。例如对于条目2=[4, 0, 1],我需要过滤值,以便键只能具有其大小大于或等于(>=)的值。考虑2=[4, 1]:由于0只有…