【问题标题】:How to use a method append(String) onto itself in Java?如何在 Java 中将方法 append(String) 用于自身?
【发布时间】:2017-08-19 15:02:03
【问题描述】:

我想做的是在以下代码中使用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()

【问题讨论】:

  • 让你的append method返回类本身,这样你就可以在类中添加字符串并再次使用该方法。
  • 为了做到这一点,你的方法append应该返回一个Message类的对象,而不是void

标签: java string append


【解决方案1】:

改变

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

进入

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

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

【讨论】:

  • 我相信下次你可以删除你的帖子,编辑它,然后取消删除它,以避免它显示为不完整的状态,其他人可以看到它。 (但如果我错了,请先将其复制到剪贴板:)
  • 很好的答案。谢谢你的解释
【解决方案2】:

将方法改为如下:

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

【讨论】:

    猜你喜欢
    • 2011-10-03
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2014-12-12
    • 2014-02-07
    • 2011-06-26
    • 1970-01-01
    相关资源
    最近更新 更多