Насколько я узнаю, с примером Integer Autoboxing использование является:путаница Autoboxing использование генериков
Integer iOb2 = 88; // auto-boxing
Integer iOb = new Integer(88) // is it auto-boxing ? I think no
// if it is auto-boxing what about above line?
Вышеприведенные фрагмент кода работает. Однако вы могли бы ответить на вторую строчку, будь то авто-бокс? С дженериками я не мог получить ожидаемый результат.
// A very simple generic class.
// Here, T is a type parameter that
// will be replaced by a real type
// when an object of type Gen is created.
class Gen<T> {
T ob; // declare an object of type T
// Pass the constructor a reference to
// an object of type T.
Gen(T o) {
ob = o;
}
// Return ob, which is of type T.
T getob() {
return ob;
}
}
// Demonstrate the generic class.
class HelloWorld {
public static void main(String args[]) {
// Create a Gen reference for Integers.
Gen<Integer> iOb;
Integer iOb2;
// Create a Gen<Integer> object and assign its
// reference to iOb. Notice the use of autoboxing
// to encapsulate the value 88 within an Integer object.
//iOb = 88; //error
iOb2 = 88;
// Get the value in iOb. Notice that
// no cast is needed. The type is already known.
//int v = iOb.getob();
System.out.println("value: " + iOb2);
System.out.println();
// Create a Gen object for Strings.
Gen<String> strOb = new Gen<String>("Generics Test");
// Get the value of strOb. Again, notice
// that no cast is needed.
String str = strOb.getob();
System.out.println("value: " + str);
}
}
Для этого обобщенного кода, поэтому не целое значения называют типа типа обертки, который Gen<Integer>
? Когда это должно быть. Не так ли?
«это авто-бокс? Я думаю, что нет». Вы правы. Это * бокс *, а не * auto * -boxing. Auto-boxing - это замена этого кода компиляцией времени (на самом деле это будет 'Integer.valueOf (88)', я думаю). –