在构造对象时是否有在 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;
冗余。
当我将参数(或者它是一个参数?)存储到 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;
冗余。