博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java String字符串类的两种实例化方法
阅读量:4145 次
发布时间:2019-05-25

本文共 575 字,大约阅读时间需要 1 分钟。

**一、String类的两种对象实例化方法**

1、直接赋值

String str="hello"

str是一个对象,此时hello 保存在堆内存当中。

2、使用new关键字对象实例化

String str =new String ("hello")

String本身是一个类,类中都有构造方法

两者区别

1、直接赋值

多个对象赋值同一个时,并没有开辟新的堆内存空间,而是存储在了对象池中,以供下次使用。三者是指向同一个堆内存地址,而‘==’比较的是内存地址,所以三者相等。

String str1="hello"String str2="hello"String str3="hello"str1==str2==str3   //true

2、构造方法

会开辟两块堆内存空间,有一块会成为垃圾空间。

只要使用new关键字,就会开辟新的内存空间,str就会指向新的内存地址0X0011,而之前的hello对象0X0001就会成为垃圾空间.

通过new关键字进行的实例化,对象并没有保存在内存池中,可以通过intern()方法来手工入池。在比较就为true了。

String str1="hello"String str2=new String("hello")str1==str2 //falsestr1.intern()==str2  //true

你可能感兴趣的文章
Java 时区问题
查看>>
推荐一个IE下的优秀js调试工具(Companion.JS)
查看>>
为 浏览器手动安装 JRE Applet
查看>>
flash xmlsocket policy 问题
查看>>
Flash纯脚本生成饼图
查看>>
CSS 进度条(含进度)
查看>>
ActionScript ExternalInterface.call 参数有字符串 "/" 的解决方案
查看>>
JavaScript 与 ActionScript 3.0 交互的一些问题
查看>>
Quartz的cron表达式
查看>>
在 表格中 用 css 设置 cellpadding 和 cellspacing 属性
查看>>
SimplePlayer例程中报告与wsprintfWInternal有关的错误
查看>>
DOS:先进入 bat 文件的路径,然后执行 bat 文件,然后回到当前目录
查看>>
dom4j 的 DTD 验证,以及输出乱码问题解决方案
查看>>
SVN for Eclipse plugins 中文转英文 (新方法)
查看>>
Angular.JS + Require.JS + angular-async-loader 来实现异步加载 angular 模块
查看>>
怎么设置可以把dropdown设成可以输入数据
查看>>
Javascript Versions
查看>>
用javascript动态调整iframe高度
查看>>
subclipx v1.02 - 简单实用的轻量级多维剪贴板工具
查看>>
让Java程序自带JRE
查看>>