java中怎么输出String的地址?如何复制一个String,然后用不同的地址保存呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎么输出String的地址?如何复制一个String,然后用不同的地址保存呢?相关的知识,希望对你有一定的参考价值。

java的String是引用类型,也就是说,如果你已经定义来了一个String
str
=
“abc”,那么,不管你再定义多少变量,只要他等于abc,那么他们的地址就是一样的。java的内自存机制就是这样,当你为一个变量赋值的时候,虚拟机会先在内存中去找,有没有zhidao这个,如果有,直接引用,如果没有,才会开辟新地址,创建一个新的。
参考技术A java里面,是不可以输出一个百变量所指向的内存地址的。。
假如你要度复制str1,则用:知
String
str2=new
String(str1);
每new一次,就会建立一个新的index
如果是其它道类,而你又要复制版的话,就要实现Clonable接口(就是那个可以调用clone()方法的接口)权即可

在java中,如何复制一个对象?比如说string对象

可以使用clone来实现,clone用于为引用类型的复制
1.使用clone方法的类必须先实现Cloneable接口,不然clone方法会直接返回CloneNotSupportedException不支持克隆的异常
2、实现Cloneable接口的类应该使用公共方法重写 Object.clone(它是受保护的)。某个对象实现了此接口就克隆它是不可能的。即使 clone 方法是反射性调用的,也无法保证它将获得成功。
3、在Java.lang.Object类中克隆方法是这么定义的:
protected Object clone()
throws CloneNotSupportedException
创建并返回此对象的一个副本。表明是一个受保护的方法,同一个包中可见。
按照惯例,返回的对象应该通过调用 super.clone 获得。

详见关于clone的API文档
参考技术A 可以使用clone()方法。 参考技术B clone()方法

以上是关于java中怎么输出String的地址?如何复制一个String,然后用不同的地址保存呢?的主要内容,如果未能解决你的问题,请参考以下文章

java中map怎么输出!

java中map怎么输出!

java怎么用IO流把一个文件(SQLite数据库文件)复制到另一个位置

你怎么知道java中的变量类型? [复制]

java如何输出xls格式的Excel表格文件

java 如何将一个list中的值全部复制到另一个list中?