在Java中是否有一种方法可以检查变量是否初始化为不在类中.我找到了javascript而不是Java.听到是我正在寻找的一个例子.
private float[] Average;
private void Check(){
if(/*variable is not initialized*/){ Average = new float[4];}
}
Run Code Online (Sandbox Code Playgroud)
And*_*sza 13
您可以使用if (Average == null)它来检查它是否为空,但您无法确定它是否显式设置为null或默认情况下为null.这适用于每种Object类型(数组也是对象),因为对象的默认值为null.但是,8种基本类型(int,byte,float,char,long,short,double和boolean)不能为null.例如,int如果您没有为其赋值,则默认为0.
Ant*_*ond 13
java中的数组就像对象一样(它们不是原始类型).
所以是的,您可以使用以下命令检查您的阵列是否已初始化:
private void check(){
if(average == null){
average = new float[4];
}
}
Run Code Online (Sandbox Code Playgroud)
但在我看来,你最好在类构造函数中初始化变量,如下:
public class MyClass {
private float[] average;
public MyClass(int arraySize) {
this.average = new float[arraySize];
}
}
Run Code Online (Sandbox Code Playgroud)
这样,每次MyClass创建对象时,您都会确保它已初始化.
如果您不知道阵列的大小,我最好使用List:
public class MyClass {
private List<Float> average;
public MyClass() {
this.average = new ArrayList<>();
}
}
Run Code Online (Sandbox Code Playgroud)
如果列表已满,则会调整列表的大小.
如果您担心类定义之外的变量,那么您应该检查是否存在null.
null将指示变量未初始化.如果是原始类型,例如int,double类似的,编译器会通知您特定变量未初始化.
在类字段中,甚至在构造函数执行之前,使用默认值初始化.
| 归档时间: |
|
| 查看次数: |
15094 次 |
| 最近记录: |