final 修饰 StringBuffer 后还可以 append 吗? 可以。final 修饰的是一个引用变量,那么这个引用始终只能指向这个对象,但是这个对象内部的属性是可以变化的。 官方文档解释:once a final variable has been assigned, it always contains the same value. If a final variable holds a reference to an object, then...
public void changeValue(final StringBuffer buffer){ //final修饰引用类型的参数,不能再让其指向其他对象,但是对其所指向的内容是可以更改的。 //buffer = new StringBuffer("hi"); buffer.append("world"); } } 运行这段代码就会发现输出结果为 helloworld。很显然,用final进行修饰虽不能再让buffer指向其他对...
期间,还发现了一个变量--StringBugger:String是字符串变量,它的对象是可以扩充和修改的,即使是被final修饰,依然可以修改。 public class Test02 { public static void main(String[] args) { final StringBuffer sb = new StringBuffer("sb"); System.out.println(sb); sb.append("a"); System.out.println...
public void changeValue(final StringBuffer buffer){ //final修饰引用类型的参数,不能再让其指向其他对象,但是对其所指向的内容是可以更改的。 //buffer = new StringBuffer("hi"); buffer.append("world"); } } 运行这段代码就会发现输出结果为 helloworld。很显然,用final进行修饰虽不能再让buffer指向其他对...
final修饰的引用类型,该引用不可再重新指向其他的java对象。 但是fianl修饰的引用,该引用指向的对象的属性是可以修改的。 public static void main(String[] args){ final Customer c = new Customer("JACK",15); //c是final的,无法重新赋值。 //c = new Customer("LUCY",20);//Error ...
通过阅读源码可以知道,string与stringbuffer都是通过字符数组实现的。
● String类用final关键字修饰,说明String不可被继承;● String字符串是常量,字符串的值一旦被创建,...
,因为Java对象参数传的是引用,所以可变的的StringBuffer参数就被改变了。可以看到变量sb在Test.appendSb...
特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。 3、尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较...
public static void main(String[] args) { 3. // 原始字符串 4. String s = "A quick brown fox jumps over the lazy dog."; 5. System.out.println("原始的字符串:" + s); 6. 7. System.out.print("反转后字符串:"); 8. StringBuffer buff = new StringBuffer(s); 9. // java.lang....