Wrapper Classes Computer Science Teachers Primitive Data Types

  • Slides: 14
Download presentation
Wrapper Classes Computer Science Teachers

Wrapper Classes Computer Science Teachers

Primitive Data Types So far we have studied: int (32 bits) double (64 bits)

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

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

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

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

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.

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

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.

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.

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.

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(

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(

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!!

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