关于String对象在创建之后不能改动的理解
来源:百度文库 编辑:神马文学网 时间:2024/04/28 20:35:39
⊙ String 是一个字符串类,在创建之后是不能改动的!如果想改变字符串,可以用StringBuilder 或者 StringBuffer !
⊙ String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象.这样的话把String类的引用传递给一个方法,改方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似.
String s1,s2;
s1 = "abc";
s2 = s1; //对于一个对象(String对象除外),这里会产生一个“别名现象”,即s2 ,s1中任何一个 //的改变都会引起另一个的改变
s2 = "def";
//这样操作之后s1还是abc,s2是def.
因此,我们可以把String类的不可变性理解成:String类就象基本类型一样,不会产生别名现象!
⊙ 假如有一语句: String s = "abc";
然后再用一语句:s = "def"; //既然String对象是不可变的,此处为什么不会报错?
---》此处,我们只是把引用s指向另一个String对象(“def”),而原来的"abc"仍然在堆栈中,我们可以把 String 对象理解成一个 基本类型的变量,对变量赋值以后,我们仍可以改变变量所指向的值,就象:int i = 5; i = 6 ;
⊙ 对于String类中的方法,每一个看起来都会修改值,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则丝毫未动。比如 :
String q = "howdy";
System.out.println(q); //howdy
System.out.println(q.toUpperCase()); //HOWDY
System.out.println(q); //此处的输出仍然是howdy,因为方法的调用不会影响原来String对象的值
⊙ String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象.这样的话把String类的引用传递给一个方法,改方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似.
String s1,s2;
s1 = "abc";
s2 = s1; //对于一个对象(String对象除外),这里会产生一个“别名现象”,即s2 ,s1中任何一个 //的改变都会引起另一个的改变
s2 = "def";
//这样操作之后s1还是abc,s2是def.
因此,我们可以把String类的不可变性理解成:String类就象基本类型一样,不会产生别名现象!
⊙ 假如有一语句: String s = "abc";
然后再用一语句:s = "def"; //既然String对象是不可变的,此处为什么不会报错?
---》此处,我们只是把引用s指向另一个String对象(“def”),而原来的"abc"仍然在堆栈中,我们可以把 String 对象理解成一个 基本类型的变量,对变量赋值以后,我们仍可以改变变量所指向的值,就象:int i = 5; i = 6 ;
⊙ 对于String类中的方法,每一个看起来都会修改值,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则丝毫未动。比如 :
String q = "howdy";
System.out.println(q); //howdy
System.out.println(q.toUpperCase()); //HOWDY
System.out.println(q); //此处的输出仍然是howdy,因为方法的调用不会影响原来String对象的值
关于String对象在创建之后不能改动的理解
String和数组,在java中是引用类型-关于引用的理解
String和数组,在java中是引用类型-关于引用的理解
automation服务器不能创建对象
java String 对象剖析
不能忘却的人(有改动)
关于string类的全面介绍
VB.NET创建对象和销毁对象的问题
c#中String跟string的“区别”
关于藏区在十四世达赖之后的命运
如何创建CSS的对象?获取合适的粒度!
关于session_cache_expire 的理解
关于session_cache_expire 的理解
电脑培训:理解面向对象编程的简单例子
看看这位才子对面向对象的理解
使用 JDBC 创建数据库对象
使用 JDBC 创建数据库对象
关于人生几个问题的理解
关于命理的理解
关于创建历史流域学的构想
国外关于品牌创建理论的综述
国外关于品牌创建理论的综述
关于创建健康城市的建议
为什么会有让大家不能理解的加速?