String类不能克隆吗,怎么办

谁学逆向工程 2012-08-17 01:25:12


import javax.swing.*;
import java.util.*;
import java.math.*;
import java.util.Date;
public class CloneTest extends Object
{
public static void main(String[] args)
{
Employee e1 = new Employee();
Employee e2 = e1;
e1.SetName("ff");
e1.SetName("gg");
System.out.println( e2.GetName() );
}
}


class Employee implements Cloneable
{
private String name;
public void SetName(String a)
{
this.name = a;
}
public String GetName()
{
return this.name;
}
public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.name = (String) name.clone();//Eclipse提示这个clone函数不可视
return cloned;
}
}
...全文
378 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shihun1234 2012-08-20
  • 打赏
  • 举报
回复
改用StringBuffer吧,效率比String高
mumu2634 2012-08-20
  • 打赏
  • 举报
回复
难道是在做面试题的练习吗?
STRING 与STRINGBUFFER的区别
还是
FINAL FIANLLY FINAIZE的区别?
chen_yanhua123 2012-08-20
  • 打赏
  • 举报
回复
搂主的意思是
A,B指向同一个对象,然后A改变,B也跟着改变。
如果是这样的话的话, 那String是不可能实现的,String是不可更改的。
你必须自己建立一个类,他包含String就行了。
如果不是,你把string当成int一样就性了
gradeyong 2012-08-18
  • 打赏
  • 举报
回复
为啥要clone,4楼写的不是做得很好么
iGoodLoser 2012-08-18
  • 打赏
  • 举报
回复

public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.name = new String(name);//这样就构成了一个新串,String没有实现Cloneable不能被克隆
return cloned;
}
balabala_sean 2012-08-17
  • 打赏
  • 举报
回复

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence


没实现Cloneable接口,怎么可能会被克隆呢?
scbb 2012-08-17
  • 打赏
  • 举报
回复

String abc = "abc";
String xyz = new String(abc);
System.out.println(xyz);


大概和你说的没啥关系,随便说说的飘过。。。
五哥 2012-08-17
  • 打赏
  • 举报
回复
public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.name = name; //这样子就行啦 ,String 是final类 ,它的内容存放到 常量区的
return cloned;
}
iLemon 2012-08-17
  • 打赏
  • 举报
回复
String是final类,不可变。
iLemon 2012-08-17
  • 打赏
  • 举报
回复
String类是被final修饰过的,是不可变的。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧