Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使用方法append(String)自身?_Java_String_Append - Fatal编程技术网

如何在Java中使用方法append(String)自身?

如何在Java中使用方法append(String)自身?,java,string,append,Java,String,Append,我尝试在以下代码中使用method().method(): public class Practice { public static void main(String[] args){ Message m = new Message("test"); m.append("in").append("progress").append("..."); m.printMessage(); } } 我的课堂信息是: public cla

我尝试在以下代码中使用
method().method()

public class Practice {
    public static void main(String[] args){
        Message m = new Message("test");
        m.append("in").append("progress").append("...");
        m.printMessage();
    }
}
我的课堂信息是:

public class Message {

    private String astring;

    public void append(String test) {
        astring += test;
    }

    public Message(String astring) {
        this.astring = astring;

    }
    public void printMessage() {
        System.out.println(astring);
    }
}

如何使用
.append().append()

将方法更改为以下内容:

public Message append(String test) {
    astring += test;
    return this;
}
改变

进入

实际上,每个
append()
都将返回一个指向相关消息对象的指针,允许您在链中将
append()
重复应用于该消息。
我会使用一个内部
char
数组来避免O(N^2)字符串连接。或者,附加到内部
StringBuilder
委托对象,其
append()
方法允许链式调用

我相信下一次,你可以删除你的文章,编辑它,然后取消删除它,以避免它显示在一个不完整的状态,其他人可以看到它。(但先把它复制到剪贴板上,以防我弄错:)回答得好。感谢您的解释。请使您的
append方法
返回类本身,以便您可以在类中添加字符串并再次使用该方法。为此,您的方法
append
应返回class
Message
的对象,而不是
void
public void append(String test) {
    astring += test;
}
public Message append(String test) {
    astring += test;
    return this;
}