色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java里和sizeof

王梓涵1年前9瀏覽0評論

Java語言是目前廣泛應用的編程語言之一,在程序開發過程中,開發者經常需要計算數據占用的空間大小。C/C++語言中有一個sizeof運算符可以用來計算內存占用大小,Java中并沒有sizeof運算符。

public class Test{
private int num;
private String name;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.size());
}
public int size(){
//計算對象占用的空間大小
int size = 0;
//對一個對象的實例變量進行遍歷
Class clazz = this.getClass();
Field[] fields = clazz.getDeclaredFields();
for(Field field : fields){
//排除靜態變量
if(!Modifier.isStatic(field.getModifiers())){
//根據類型累加size大小
if(field.getType().equals(int.class)){
size += 4;
}else if(field.getType().equals(long.class)){
size += 8;
}else if(field.getType().equals(byte.class)){
size += 1;
}else if(field.getType().equals(short.class)){
size += 2;
}else if(field.getType().equals(float.class)){
size += 4;
}else if(field.getType().equals(double.class)){
size += 8;
}else if(field.getType().equals(boolean.class)){
size += 1;
}else{
size += 4;
}
}
}
return size;
}
}

在Java中,可以通過反射機制來實現類對象中各個成員變量占用的空間大小計算。以上代碼通過對類的靜態成員變量進行遍歷,判斷成員變量類型累加空間大小,計算對象占用的空間大小。