Wrappers / Numbers
Java provides wrapper classes for each primitive data types.
/**
* All of the numberic wrapper classes are subclasses of ...
* the abstract class Number.
*
* Effective Java (Item 49):
* Prefer primitive types to boxed primitives.
*/
package com.minte9.basics.numbers;
public class Numbers {
public static void main(String[] args) {
Number no = Double.valueOf(22.33);
System.out.println(no.shortValue()); // 22
}
}
Autoboxing
Java compiler makes automatic convertions to primitives and vice-versa.
/**
* Primitives types cannot be used in Collections or Generics.
* Java compiler makes automatic convertions to primitives.
*
* Unboxing is the automatic conversion of objects into their ...
* coresponding primitives
*/
package com.minte9.basics.numbers;
import java.util.List;
import java.util.ArrayList;
public class Autoboxing {
public static void main(String[] args) {
List<Integer> li = new ArrayList<>();
for (int i=10; i<20; i++) {
li.add(i);
// autoboxing (i is primitive)
}
System.out.println(li.get(0).getClass().getName());
// java.lang.Integer
int b = li.get(0);
// unboxing (element is Integer)
System.out.println(b);
// 10
}
}
Last update: 382 days ago