2016 - 2024

感恩一路有你

java 值传递 引用传递 为什么调用toString方法输出的还是地址值?

浏览量:1996 时间:2021-04-13 17:55:44 作者:admin

为什么调用toString方法输出的还是地址值?

Java默认情况下不调用toString方法,因此当类直接输出对象而不重写toString方法时,显示的结果是一个值字符串。在Java中,建议类重写hashcode()和toString()方法,以便于比较和输出。

在java中为什么String字符串可以作为对象来管理?

众所周知,Java中创建字符串(对象)的方法有很多:[2]直接定义字符串常量

3]通过实例化字符串类创建字符串对象

Java中的字符串可以直接作为对象操作。原则是什么?

例如:

1,literal quantity of string,string constant pool

Java中字符串的literal quantity是一对用双引号括起来的字符串,如“Chinese”。

字符串常量是常量池。当string STR=“string”时,编译器将检查在不朽生成中是否有对常量的引用。如果存在引用,编译器将直接将地址分配给堆栈。如果没有引用,编译器将首先在不朽生成中打开一个内存空间,然后将地址分配给堆栈指针。

也就是说,字符串对象的引用仍然存储在字符串常量池中。

2. 实例化string对象

该方法根据string对象重新创建一个string对象,在堆内存中添加新的内存块后,将指针赋给堆栈指针。

java 值传递 引用传递 java的引用数据类型 java判断字符串相等

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。