怎么在java中实例化string?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。
一、实例化说明
(1)在Java中,使用已经定义好的类,创建该类对象的过程称为“实例化”。
(2)实例化就是在堆中分配内存的过程,分配的内存即对象。
(3)只有实例化后的对象,才能访问到类中的成员变量和方法。
二、实例化方法
(1)直接赋值
String StringName= "xxx";
特点:JVM会自动根据栈中数据的实际情况来决定是否有必要创建新对象。
举例
String name1 = "Tim"; String name2 = "Tim"; System.out.println(name1==name2);
结果
String name2=“tom”;此时name1和name2共享常量池中的同一个数据,即两个变量的地址是一样的,所以输出结果name1和name2相等。
(2)构造方法
public String(String str);
实例
public class homework { public static void main(String[] args) { String name = "Tom"; String name1 = new String("Tom"); String name2 = new String("Tom"); System.out.println(name); System.out.println(name1); System.out.println(name2); } }
特点:一概在堆中创建新对象,而不管其字符串值是否相等,是否有必要创建新对象。
(3)方法区别
String类的设计使用了共享设计模式。在JVM底层实际上会自动维护一个对象池(字符串对象池),如果现在采用了直接赋值的方式进行String类的对象实例化操作,那么该实例化对象(字符串内容)将自动保存到这个对象池之中。如果下次继续使用直接赋值的模式声明String类对象,此时对象池之中如若有指定内容,将直接进行引用;如若没有,则开辟新的字符串对象而后将其保存在对象池之中以供下次使用。所谓的对象池就是一个对象数组(目的就是减少开销)。
看完上述内容,你们掌握怎么在java中实例化string的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。