Wrapper Classes Computer Science Teachers Primitive Data Types














- Slides: 14

Wrapper Classes Computer Science Teachers

Primitive Data Types So far we have studied: int (32 bits) double (64 bits) boolean (at least 1 bit, but not defined) Other primitive data types: long…an integer(64 bits)…gives more digits than int short…an integer(16 bits)…gives fewer digits than int float…a floating point number like double(32 bits)

Tricky methods Sometimes a method will require an Object as a parameter…but you need to pass it a primitive public void add(Object x) What can we do? ?

Wrapper classes… We can wrap an object around the primitive… The primitive becomes an object. Another term is “boxing”

Auto-Boxing – Java 9. 0 Integer class examples: Integer i 1 = 10; //Integer i 1 = new Integer(10); int i = 10; Integer i 2 = i; //Integer i 2 = new Integer(i); Double class examples: Double d 1 = 79. 3; //Double d 1 = new Double (79. 3); double d = -23. 75; Double d 2 = d; //Double d 2 = new Double(d);

More Wrapper Classes Boolean class examples: Boolean b 1 = false; //Boolean b 1 = new Boolean (false); boolean b = true; Boolean b 2 = b; //Boolean b 2 = new Boolean(b); Character class examples: Character c 1 = ‘M’; //Character wc = new Character (‘M’); char c = ‘s’; Character c 2 = c; //Character c 2 = new Character (c);

FACT We are not directly storing primitives…. …just a version of them.

Adding or multiplying Wrapper Classes Post java 9. 0…very easy int j = i 1*i 2; Pre java 9. 0…a little tricky int j = i 1. int. Value( ); int k = i 2. int. Value( ); int product = j * k;

Converting back to primitives… Post Java 9. 0…easy int i = i. Object; //i. Object is an Integer object double d = d. Object; //d. Object is a Double object Pre Java 9. 0…a little tricky

Assume i. Object is an Integer object. a. int i = i. Object. int. Value( ); //most often used… convert to int b. short s = i. Object. short. Value( ); //convert to short c. long el = i. Object. long. Value( ); //convert to long d. float f = i. Object. float. Value( ); //convert to float e. double d = i. Object. double. Value( ); //convert to double

Assume d. Object is a Double object a. int i = d. Object. int. Value( ); //convert to int…loses fractional part b. short s = d. Object. short. Value( ); //convert to short… loses fractional part c. long el = d. Object. long. Value( ); //convert to long…loses fractional part d. float f = d. Object. float. Value( ); //convert to float… might lose some precision e. double d = d. Object. double. Value( ); //most often used…convert to double

Assume b. Object is a Boolean object boolean b = b. Object. boolean. Value( ); //convert to boolean

Assume c. Object is a Character object char ch = c. Object. char. Value( ); //convert to char

Homework Exercises on Lesson 21 No Project for this lesson!!