【发布时间】:2014-09-21 16:20:29
【问题描述】:
有时当我们声明和初始化一个变量时,假设我们有一个int i =10; 然后在一些代码之后这个变量会像下面的代码一样被修改
public class reset {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 10;
int co = 1;
while (co < 10) {
i++;
System.out.println(i + "*" + co + "=" + i * co);
if (i == 99) {
i = 11; //line 11
co++;
}
}
}
}
然后在某个时候(这里在第 11 行)我们需要重新初始化 then 变量,如果我们有任何语言功能自动执行它不是很好,例如
reset:i
我认为这对生产力非常有益,不是吗?
【问题讨论】:
-
如果初始化为有副作用的表达式呢?
-
您建议的语法类似于标签,这会令人困惑。我只会为初始值分配一个常量,并在您重置它时分配该常量。
-
SLaks:假设只有在分配常量值时才能进行此重置
-
Gabor:在团队中工作时,更容易忘记另一个开发者分配的特定值
-
不是一个好主意,但是实现一个
init()方法来重置可变类的字段可能是一个好主意,具体取决于该类的使用方式。
标签: java initialization language-features primitive-types