java中使用string实例化

我们说string可以应用于字符串的一系列操作,这里我们就实例化的方法展开讨论。当我们想要创造一个具体的对象时,这个过程就是实例化的表现。在string中对字符串的实例化方法有两种,我们会在下文中进行深入讲解与分析。在此之前,就实例化的一些说明带来介绍,帮助大家理解string实例化的意思。

一、实例化说明

1Java中,使用已经定义好的类,创建该类对象的过程称为“实例化”。

2实例化就是在堆中分配内存的过程,分配的内存即对象。

3只有实例化后的对象,才能访问到类中的成员变量和方法。

二、实例化方法

1直接赋值

StringStringName="xxx";

特点:JVM会自动根据栈中数据的实际情况来决定是否有必要创建新对象。

举例

Stringname1="Tim";
Stringname2="Tim";
System.out.println(name1==name2);

结果

String name2=“tom”;此时name1和name2共享常量池中的同一个数据,即两个变量的地址是一样的,所以输出结果name1和name2相等。

2)构造方法

publicString(Stringstr);

实例

publicclasshomework{

publicstaticvoidmain(String[]args){
Stringname="Tom";
Stringname1=newString("Tom");
Stringname2=newString("Tom");
System.out.println(name);
System.out.println(name1);
System.out.println(name2);
}
}

特点:一概在堆中创建新对象,而不管其字符串值是否相等,是否有必要创建新对象。

3)方法区别

String类的设计使用了共享设计模式。在JVM底层实际上会自动维护一个对象池(字符串对象池),如果现在采用了直接赋值的方式进行String类的对象实例化操作,那么该实例化对象(字符串内容)将自动保存到这个对象池之中。如果下次继续使用直接赋值的模式声明String类对象,此时对象池之中如若有指定内容,将直接进行引用;如若没有,则开辟新的字符串对象而后将其保存在对象池之中以供下次使用。所谓的对象池就是一个对象数组(目的就是减少开销)。

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容