iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0

Intro

The day before the countdown, today we will introduce the concept of wrapping primitive data types into objects – Wrapper Classes

which actually wraps the Primitive Data Types we mentioned earlier and allows them to operate as objects.

(If you are not familiar with it, you can refer to Day 6: Variables (2)))

The wrapped object will contain a variable and its data type

The following is the conversion of the original data type to the corresponding Wrapper Class:

https://ithelp.ithome.com.tw/upload/images/20221014/20151216LLARKQAf9D.png


Auto boxing

Dclaration

/*Wrapper_Class variable_name = data;*/
Integer num = 12;
Character gpa = 'A';
  • This means that the original data type is placed inside the object by wrapping it.You can also declare the general type first and then wrap it.
int num = 12;
Integer new_wrapper = num;

valueOf

This is not quite the same as declaring variables in general.

When creating an object, new is used to create a new object, and the wrapper method wraps the variable into an object format via valueOf.

int num = 12;
double num2 = 12.33;

var wra1 = Integer.valueOf(num); 
var wra2 = Doublie.valueOf(data1);

System.out.println(wra1.intValue());
System.out.println(wra2.doubleValue());
  • This program can pay attention to two things:
  1. The way primitive data types are wrapped into objects

The initial declaration of the variable, and the two middle paragraphs (var represents the declaration of an untyped variable) are how the compiler turns it into an object

The compiler uses Wrapper Class + valueOf to create an instance of the wrapper

  1. Print the contents

This uses “data type + Value ()” to print the contents of the basic wrapper


compareTo

Integer provides a method for comparing with other objects of the same type:

  1. If the values are the same, 0 is returned
  2. If the value is greater than the input value, 1 is returned
  3. If the value is less than the input value, -1 is returned
Integer num = 12;
Integer wra = 24;
System.out.println(num.compareTo(wra));     //Outputs : -1

Auto unboxing

In simple terms, after packaging, unpack and save the contents in their original format.

Integer num = 12;
int temp = num;  //編譯器在此步驟拆箱

/images/emoticon/emoticon77.gif


上一篇
Day 28 : Inner class
下一篇
Day 30 : Summary
系列文
30天Java由淺入深30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言