CodeGym /ื‘ืœื•ื’ Java /Random-HE /ืื•ื˜ื•-ื‘ื•ืงืกื™ื ื’ ื•-Unboxing ื‘-Java
John Squirrels
ืจึธืžึธื”
San Francisco

ืื•ื˜ื•-ื‘ื•ืงืกื™ื ื’ ื•-Unboxing ื‘-Java

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ื‘ื’'ืื•ื•ื”, ืชื›ื•ื ื” ืฉืœ ืคืจื™ืžื™ื˜ื™ื‘ื™ื ื•ื”ืขื˜ื™ืคื•ืช ืฉืœื”ื ื”ื™ื ืื•ื˜ื•ื‘ื•ืงืกื™ื ื’ / 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));
   }
}
ื ื™ืกื™ื•ืŸ ืœื”ืขื‘ื™ืจ ืžืขืจืš ืคืจื™ืžื™ื˜ื™ื‘ื™ื ืœืฉื™ื˜ื” ืฉืœื•ืงื—ืช ืžืขืจืš ืื•ื‘ื™ื™ืงื˜ื™ื ื™ื’ืจื•ื ืœืฉื’ื™ืืช ืงื•ืžืคื™ืœืฆื™ื”. ืœืกื™ื›ื•ื, ื‘ื•ืื• ื ืฉื•ื•ื” ื‘ืงืฆืจื” ืคืขื ื ื•ืกืคืช ื‘ื™ืŸ ืคืจื™ืžื™ื˜ื™ื‘ื™ื™ื ื•ืขื˜ื™ืคื•ืช.

ืคืจื™ืžื™ื˜ื™ื‘ื™ื:

  • ื‘ืขืœื™ ื™ืชืจื•ื ื•ืช ื‘ื™ืฆื•ืขื™ื
ืขื˜ื™ืคื•ืช:
  • ื”ืจืฉื• ืœื ื• ืœื ืœื”ืคืจ ืืช ืขืงืจื•ืŸ "ื”ื›ืœ ืื•ื‘ื™ื™ืงื˜", ื›ืœื•ืžืจ ืžืกืคืจื™ื, ืชื•ื•ื™ื ื•ืขืจื›ื™ื ื‘ื•ืœื™ืื ื™ื™ื ืื™ื ื ืžืคืจื™ื ืืช ื”ืžื•ืฉื’ ื”ื–ื”
  • ื”ืจื—ื‘ ืืช ื”ืืคืฉืจื•ื™ื•ืช ืœืขื‘ื•ื“ื” ืขื ืขืจื›ื™ื ืืœื• ืขืœ ื™ื“ื™ ืžืชืŸ ืฉื™ื˜ื•ืช ื•ืฉื“ื•ืช ื ื•ื—ื™ื
  • ื ื—ื•ืฆื™ื ื›ืืฉืจ ืฉื™ื˜ื” ืขื•ื‘ื“ืช ืจืง ืขื ืื•ื‘ื™ื™ืงื˜ื™ื
ื›ื“ื™ ืœื—ื–ืง ืืช ืžื” ืฉืœืžื“ืช, ืื ื• ืžืฆื™ืขื™ื ืœืš ืœืฆืคื•ืช ื‘ืฉื™ืขื•ืจ ื•ื™ื“ืื• ืžืงื•ืจืก Java ืฉืœื ื•
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION