在构造对象时是否有在 java 中键入 this.x = x 的快捷方式?

Is there a shortcut for typing this.x = x in java while constructing an object?

当我将参数(或者它是一个参数?)存储到 class 的私有实例变量时,是否有更快的方法来编写 this.x = x(其中 x 是参数构造函数和 this.x 是实例变量)?有时使用更长的变量名我发现它有点重复,有没有像 x++; 之类的东西?

我是 Java 的新手,如果我能说得更清楚,请告诉我。

不,不是真的。我不确定 x++ 是什么意思——这是后缀增量运算符——但是分配变量的唯一方法是分配它们。

例如:

public class Student {

    private String name;
    private int age;
    private double gradePointAverage;

    public Student(String name, int age, double gradePointAverage) {
        this.name = name;
        this.age = age;
        this.gradePointAverage = gradePointAverage;
    }
}

大多数 IDE 都会有一个为您自动生成构造函数的快捷方式。例如,IntelliJ 允许您键入 alt+insert,这将显示一个上下文菜单,允许您自动生成构造函数、getter 和 setter。

没有。您可以使用 IDE 来帮助您完成此操作。尝试 Eclipse or IntelliJ IDEA

使用 IDE,您可以 Eclipse: Create Getters and Setters or IntelliJ: Generating Getters and Setters

没有比这更简单的方法了。如果你想避免这样做,你可以在字段名称或参数变量名称后加上“1”或“2”。

一般来说没有,没有句法shorthand。但是,有一些方法可以避免这样做。特别是,我是 auto/value, a project that lets you define value types 的忠实粉丝,样板最少,例如:

@AutoValue
abstract static class Animal {
  static Animal create(String name, int numberOfLegs) {
    return new AutoValue_Animal(name, numberOfLegs);
  }
  abstract String name();
  abstract int numberOfLegs();
}

由于 auto/value 利用了 annotation processing,对于不使用 Maven 或 Ant 的小程序来说,这不是一个好的解决方案,但对于小项目,您可能不会介意温和的 this.x = x;冗余。