String类不能克隆吗,怎么办
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; }}
String abc = "abc"; String xyz = new String(abc); System.out.println(xyz);
[解决办法]
public final class String implements java.io.Serializable, Comparable<String>, CharSequence
[解决办法]
为啥要clone,4楼写的不是做得很好么
[解决办法]
public Employee clone() throws CloneNotSupportedException { Employee cloned = (Employee)super.clone(); cloned.name = new String(name);//这样就构成了一个新串,String没有实现Cloneable不能被克隆 return cloned; }
[解决办法]
改用StringBuffer吧,效率比String高
[解决办法]
搂主的意思是
A,B指向同一个对象,然后A改变,B也跟着改变。
如果是这样的话的话, 那String是不可能实现的,String是不可更改的。
你必须自己建立一个类,他包含String就行了。
如果不是,你把string当成int一样就性了
[解决办法]
难道是在做面试题的练习吗?
STRING 与STRINGBUFFER的区别
还是
FINAL FIANLLY FINAIZE的区别?