gpt4 book ai didi

java - 如何使java流畅界面中的方法首先弹出?

转载 作者:行者123 更新时间:2023-12-02 02:55:49 26 4
gpt4 key购买 nike

这是我第一次提问,如果我弄乱了一些东西,我很抱歉。我有一个任务是使用 Java 流畅的接口(interface)来实现邮件。我必须有字段:发件人、收件人、主题。

问题是,我无法让“From”作为第一个且唯一的出现。例子:MailBuilder 构建器 = new MailBuilder();builder.from("Stiliyan").to("Alexander").subject("欢迎加入");

但是当我输入第一个点“.”时他们都出现了。 (例如 builder.to("a").from("b")..)

简而言之:builder.(此处必须仅出现“from”).to(“无忧”)...”

Here is MailBuilder.java

So here after "." must appear ONLY from method

最佳答案

那么每个构建器方法的声明返回类型不能相同。不过,您仍然可以返回相同的构建器实例。例如:

interface IFromBuilder {
IToBuilder from(String from);
}

interface IToBuilder {
IMailBuilder to(String to);
}

interface IMailBuilder {
Mail build();
}

class MailBuilder implements IFromBuilder, IToBuilder, IMailBuilder {

private String from;
private String to;

@Override
public IToBuilder from(String from) {
this.from = from;
return this;
}

@Override
public IMailBuilder to(String to) {
this.to = to;
return this;
}

@Override
public Mail build() {
return new Mail(from, to);
}
}

class Mail {
private final String from;
private final String to;

public Mail(String from, String to) {
this.from = from;
this.to = to;
}

public static IFromBuilder newBuilder() {
return new MailBuilder();
}
}


public class Demo {
public static void main(String[] args) {
Mail mail = Mail.newBuilder().from("sender@a.com").to("receiver@b.com").build();
}
}

关于java - 如何使java流畅界面中的方法首先弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com