JAVA基础笔记(四)

来源:互联网 发布:南京擎天科技知乎 编辑:程序博客网 时间:2024/04/29 19:29

String

String类的两种实例化方式:
String str = “Hello”;
String str = new String(“Hello”);

字符串的比较:
“==”比较的是两个字符串的地址,equals()比较的是两个字符串的内容;

如果一个字符串位空,那么这个字符串.equals(另一个字符串)会出现NullPointerException,
那么就需要将字符串变量卸载前面
例如:
String str = null;
(“hello”).equals(str);
这样就不会出现NullPointerException了;

请解释String类两种实例化方法的区别:
1,直接赋值:只会开辟一块堆内存空间,并且声明的对象可以自动保存在对象池之中,以 供相同内容的字符串对象引用。
2,构造方法实例化:会开辟两块堆内存空间,并且有一块堆内存将成为垃圾,此类模式产 生的实例化对象,不会自动入池,但是可以通过intern()方法手工入池。

字符串一旦声明则不可改变:
所谓的字符串对象的内容的修改本质上也是对象的引用的变化而已。

this关键字:
this可以描述的三类操作:
1,调用本类属性
2,调用本类调用;
3,表示当前对象;

访问类属性必须加this
this()只允许放在构造方法的首行,使用this()进行构造方法的互相调用的时候,一定要保证留有一个出口。

0 0
原创粉丝点击