在JAVA中,如何从一行中的方法参数设置多个实例字段?
我有一个类,看起来像这样:在JAVA中,如何从一行中的方法参数设置多个实例字段?,java,parameters,field,instance,Java,Parameters,Field,Instance,我有一个类,看起来像这样: public class Example { private String apple; private String orange; public void setNew(String apple, String orange) { //Instead of this.apple = apple; this.orange = orange; //I once saw a way y
public class Example {
private String apple;
private String orange;
public void setNew(String apple, String orange) {
//Instead of
this.apple = apple;
this.orange = orange;
//I once saw a way you could do it in one line like
this.(apple, orange) = (apple,orange);
//but this does not compile
}
如何在一行中将apple设置为apple,将orange设置为orange?在Java中无法做到这一点。您必须接受使用多个语句。所以我想的是当您有另一个方法调用构造函数时:
public void setNew(String apple, String orange){
this.apple = apple; this.orange = orange;
}
this(param1,param2)代码>
然后,正如注释所建议的,你必须单独设置实例字段。
C++可以在一行中执行,而不是在一个语句中。但是,可以通过一个行将其设置为相同的值:Time.Apple=Time.Objy= Apple < /Cord>。您确定它不是C++或C程序吗?“我曾经看到一种方法,你可以在一行中完成”,这不是你看到的Java代码。看起来像是一个很好的候选人,可以像这样使用流畅的界面(又名构建器模式):withApple(apple)。withOrange(orange);
”;“表示一行结束,所以这不是答案,伙计。谢谢你,伙计,但这是他/她问的最接近的问题。”;“表示语句结束,所以这是有效的java。@KrzysztofKubicki肯定这是一个有效的答案。问题只要求一行,而不是一条语句:“如何在一行中将apple设置为apple,将orange设置为orange?”?“--代码>当然不意味着行尾。这意味着陈述的结束。一句话和一句话之间有很大的区别。在Java中,这两者之间没有关系,因为行结束符除了行注释(/
)之外没有任何意义。我的情况到此为止。@KrzysztofKubicki您没有提出任何理由。也许他的意思是添加任何参数构造函数都不会调用具有静态值的两个参数构造函数?这将是一行:)