[Sword pointing to offer] Interview question 01: Assignment operator function

[Sword refers to offer] Interview question 01 Assignment operator function

【Reprint】The second edition of Sword Point Offer - 1. Assignment Operator Function
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+"\'"+"}";
        }
    }
}

Output result:
output result

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325993899&siteId=291194637
Recommended