ืื'ืืืื, ืชืืื ื ืฉื ืคืจืืืืืืืื ืืืขืืืคืืช ืฉืืื ืืื ืืืืืืืงืกืื ื / unboxing. ืืืื ื ืืคืืจ ืืงืื ืกืคื ืืื. ืืคื ืฉืืืจ ืืืื ื, Java ืืื ืฉืคื ืืื ืื ืขืฆืืื. ืื ืืืืจ ืฉืื ืืชืืื ืืืช ืฉื ืืชืืืช ื-Java ืขืฉืืืืช ืืืืืืืงืืื. ืคืจืืืืืืืื ืืื ื ืืืืืืงืืื. ืืื ืืืจืืช ืืืช, ืืืฉืชื ื ืขืืืคื ื ืืชื ืืืงืฆืืช ืขืจื ืคืจืืืืืืื. ืชืืืื ืื ื ืงืจื ืืืืืืืงืกืื ื. ืืืืคื ืืืื, ื ืืชื ืืืงืฆืืช ืืืฉืชื ื ืคืจืืืืืืื ืืืืืืงื ืขืืืคื. ืชืืืื ืื ื ืงืจื unboxing. ืืืืืื:
public class Main {
public static void main(String[] args) {
int x = 7;
Integer y = 111;
x = y; // Unboxing
y = x * 123; // Autoboxing
}
}
ืืฉืืจื 5, ืื ื ืืงืฆืื ืืช y, ืฉืืื ืืืืืืงื ืฉื ืืกืคืจ ืฉืื , ื- x ืืคืจืืืืืืื . ืืคื ืฉืืชื ืืืื ืืจืืืช, ืื ืื ื ืื ืฆืจืืืื ืื ืงืื ืืฆืขืืื ื ืืกืคืื: ืืืืืจ ืืืืข ืฉ- int ื- Integer ืื, ืืขืฆื, ืืืชื ืืืจ. ืื unboxing. ืืฉืื ืืืื ืงืืจื ืขื ืืืจืืฃ ืืืืืืื ืืฉืืจื 6: ืืขืจื ืืคืจืืืืืืื (x * 123) ืืืงืฆื ืืงืืืช ืืืืืืืงื y . ืืืื ืืืืื ื-autoboxing. ืื ืืกืืื ืฉืืืื ื ืืืื ืืช ืืืืื "ืืืื": ืื ืื ืฆืจืื ืืขืฉืืช ืฉืื ืืืจ ืืืืื ืืื ืืืงืฆืืช ืคืจืืืืืืืืื ืืืืืืืงืืื ืืขืืืคืื ืืืชืืืืื ืืื (ืืืืืคื). ืืื ืงืืจื ืืืืืืืืช. ื ืื, ืื? :) ืื ื ืจืืืื ืืืืื ื ืืกืคืช ืื ืืืืช ืฉื ืืืืืืืงืกืื ื / unboxing ืืขืืืื ืขื ืฉืืืืช. ืืกืืื ืืื ืืื ืฉืืจืืืื ืืื ืฉื ืฉืืื ืื ืื ืืชืืืจืคืื ืืืืืืืืื ืืืืฆืืื ืืืชืืื. ืืืืืื, ืื ืืชืืื ืืืงืืช ืฉื ื ืืืืืืงืืื ืฉืืืื ืืงืื, ื ืืื ืืืขืืืจ ืืงืืืช int s ืจืืืืื ืืืงืื ืืืช!
public class Main {
public static void main(String[] args) {
printNumber(7);// A standard int, not even an int variable
}
public static void printNumber(Integer i) {
System.out.println("You entered the number " + i);
}
}
ืชึฐืคืึผืงึธื:
You entered the number 7
ืื ืขืืื ืื ืืืืืื ืืฉื ื:
public class Main {
public static void main(String[] args) {
printNumber(new Integer(632));
}
public static void printNumber(int i) {
System.out.println("You entered the number " + i);
}
}
ื ืงืืื ืืฉืืื ืฉืืชื ืฆืจืื ืืืืืจ ืืื ืื: ืืืืืืืงืกืื ื ื-unboxing ืื ืขืืืืื ืขืืืจ ืืขืจืืื!
public class Main {
public static void main(String[] args) {
int[] i = {1,2,3,4,5};
printArray(i);// Error, this won't compile!
}
public static void printArray(Integer[] arr) {
System.out.println(Arrays.toString(arr));
}
}
ื ืืกืืื ืืืขืืืจ ืืขืจื ืคืจืืืืืืืื ืืฉืืื ืฉืืืงืืช ืืขืจื ืืืืืืงืืื ืืืจืื ืืฉืืืืช ืงืืืคืืืฆืื. ืืกืืืื, ืืืื ื ืฉืืื ืืงืฆืจื ืคืขื ื ืืกืคืช ืืื ืคืจืืืืืืืืื ืืขืืืคืืช.
ืคืจืืืืืืืื:
- ืืขืื ืืชืจืื ืืช ืืืฆืืขืื
- ืืจืฉื ืื ื ืื ืืืคืจ ืืช ืขืงืจืื "ืืื ืืืืืืงื", ืืืืืจ ืืกืคืจืื, ืชืืืื ืืขืจืืื ืืืืืื ืืื ืืื ื ืืคืจืื ืืช ืืืืฉื ืืื
- ืืจืื ืืช ืืืคืฉืจืืืืช ืืขืืืื ืขื ืขืจืืื ืืื ืขื ืืื ืืชื ืฉืืืืช ืืฉืืืช ื ืืืื
- ื ืืืฆืื ืืืฉืจ ืฉืืื ืขืืืืช ืจืง ืขื ืืืืืืงืืื
GO TO FULL VERSION