0
爲什麼沒有autoboxing在行sum + = nums [i] .doubleValue()。你可以看到nums [i]是在對象形式中,爲什麼不能只寫sum + = nums [i],爲什麼需要doubleValue()這是手動方式的自動裝箱和拆箱。我已經成功編譯了一個程序,其中以對象形式的數字從該方法返回並自動分配爲double。自動裝箱在通用,可以自動裝箱工作與對象
public class genericbound<T extends Number> {
T[] nums;
genericbound(T[] o){
nums=o;
}
double average(){
double sum=0.0;
for(int i=0; i<nums.length; i++)
sum +=nums[i].doubleValue();
return sum/nums.length;
}
}
class BoundsDemo{
public static void main(String args[]){
Integer inums[]={1,2,3,4,5};
genericbound<Integer> iob= new genericbound<Integer>(inums);
double v=iob.average();
System.out.println("iob average is"+v);
Double dnums[]={1.1, 2.2, 3.3, 4.4, 5.5 };
genericbound<Double> dob= new genericbound<Double>(dnums);
double w= dob.average();
System.out.println("dob average is "+w);
}
}
謝謝,但我已經刪除了「擴展數字」整個程序,並試圖編譯,但仍然錯誤。作爲其他類似的類型的程序有 aa aa –
謝謝,但是,我已經刪除了「擴展數字」int程序並嘗試編譯,但仍然錯誤。與其他類似的程序類似,請參閱此行int v = iob.getob();該項目工程 類代 牛逼OB; Gen(T o){O1 = 0; } T getob(){ return ob; } class GenDemo {public static void main(String args []){ Gen iob = new Gen (88); int v = iob.getob(); System.out.println(「value」+ v); } } –