温馨提示:本文翻译自stackoverflow.com,查看原文请点击:dart - What is the equivalent of the following statement in java?
dart java

dart - 在Java中,以下语句等同于什么?

发布于 2020-03-27 15:49:43

我正在编写一个Javafx应用程序,我想在声明类实例的同一条语句中调用函数并设置变量。

我可以像下面的代码一样在dart中执行此操作,但是可以在java中执行此操作吗?

class MyClass{
  int someVar =1;
  someFun(){
     print("something");
  }
}

void main(){
 MyClass newClass = new MyClass()
  ..someVar = 2 // how can I do this in java?
  ..someFun();

 print(newClass.someVar);

}

查看更多

查看更多

提问者
Ammar
被浏览
96
Tidder 2020-01-31 16:17

实际上,您无法使用Java做到这一点-至少不是Dart风格。双点(..)表示法是Dart语言功能,而Java根本没有。但是,对于这个简单的示例,您可以这样获得相同的结果:

class MyClass {
    int someVar = 1;

    MyClass setSomeVar(int i) {
        someVar = i;
        return this;
    }

    MyClass someFun() {
        System.out.println("something");
        return this;
    }
}

public static void main(String[] args) {
    MyClass newClass = new MyClass()
            .setSomeVar(2)
            .someFun();

    System.out.println(newClass.someVar);
}

与Dart中一样,这仅适用于(通常)没有返回值的void方法(例如,方法)。