[剑指offer]面试题01赋值运算符函数
【转载】剑指offer第二版-1.赋值运算符函数
public class problem01{
public static void main(String[] args) {
MyString s1 = new MyString("a");
MyString s2 = new MyString("b");
MyString s3 = new MyString("c");
System.out.println(s1.operator(s2).operator(s3));
System.out.println("s1:" + s1);
System.out.println("s2:" + s2);
System.out.println("s3:" + s3);
System.out.println("=============");
s1 = new MyString("E");
s2 = new MyString("F");
s3 = new MyString("G");
System.out.println(s1.operator(s2.operator(s3)));
System.out.println("s1:" + s1);
System.out.println("s2:" + s2);
System.out.println("s3:" + s3);
System.out.println("=============");
}
public static class MyString{
private String data;
public MyString(){
this.data = "";
}
public MyString(String data){
this.data = data;
}
// operator
public MyString operator(final MyString input){
if(input != this){
this.data = null;
this.data = input.data;
}
return this;
}
@Override
public String toString(){
return "MyString{"+"data='"+this.data+"\'"+"}";
}
}
}
输出结果: