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...
期间,还发现了一个变量--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指向其他对...
public void changeValue(final StringBuffer buffer){ //final修饰引用类型的参数,不能再让其指向其他对象,但是对其所指向的内容是可以更改的。 //buffer = new StringBuffer("hi"); buffer.append("world"); } } 运行这段代码就会发现输出结果为 helloworld。很显然,用final进行修饰虽不能再让buffer指向其他对...
public void method(final StringBuffer param){//用final修饰 } 实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象: param.append("a"); 所以总的来说呢,就这个例子来说,final修饰的变量a是不能被可直接改变的,但是可以改变其变量引用的对象内容。
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 被 final 修饰,这说明 String 不可继承;并且String 中真正存储字符的地方是 char 数组,...
● String类用final关键字修饰,说明String不可被继承;● String字符串是常量,字符串的值一旦被创建,...
通过阅读源码可以知道,string与stringbuffer都是通过字符数组实现的。
public String a=Test.aa; public String b=Test.bb; public static void main(String args[]){ ... } } Class Test{ public final static String aa="HelloA"; public final static String bb=new String("HelloB"); } 大家肯定要问了,Main中的a 和 b 到底有什么区别? 我们...