Java包装类和基本类型(java包装类和基本类型的区别)

createh51个月前 (01-31)技术教程18

概述

场景

通过文本框获得用户输入的数字数据,因为文本框里面是书写文本数据的,所以后台得到的都是字符串。如果想要对字符串中的数字进行运算,必须将字符串转换成数字

怎么解决上述出现的问题?

Java为每一种基本类型提供了类,这些类称为基本数据类型包装类

每种包装类都提供相关的方法操作基本类型数据

包装类常见操作有

将字符串转换为对应的基本数据类型

将基本数据类型转换为字符串类型

八种基本数据类对应的包装类如下表

基本类型: boolean包装类: Boolean

基本类型: byte包装类: Byte

基本类型: char包装类: Character

基本类型: short包装类: Short

基本类型: int包装类: Integer

基本类型: long包装类: Long

基本类型: float包装类: Float

基本类型: double包装类: Double

Integer包装类概述

构造方法

Integer(int value);将一个整数value转换成整型包装类对象。

Integer(String s);将一个字符串数值转换成整型包装类对象。

成员方法

int intValue();将构造方法中的字符串转换成基本类型。

static int parseInt();把字符串转换为int值。

static String toString(int i);将整数i转换成字符串

静态成员变量

Integer.MAX_VALUE:整数最大值

Integer.MIN_VALUE:整数最小值

示例

public class IntegerDemo {
public static void main(String[] args){
// 价格字符串
String price = "200";
// 将字符串转换为整型数据
int num = Integer.parseInt(price);
System.
out.println(num+1);
// 创建整型包装类对象
Integer in = new Integer(price);
int num01 = in.intValue();
System.
out.println("num01 = " + num01);
// 将字符串转换为整型数据
int num02 = Integer.valueOf(price);
// 折扣字符串
String zkStr = "6.9";
// 将字符串转换小数
double d = Double.parseDouble(zkStr);
System.
out.println(num * d);
boolean f = Boolean.parseBoolean("false");
System.
out.println(f);
// 获得整数的最大值和最小值
System.out.println(Integer.MAX_VALUE);
System.
out.println(Integer.MIN_VALUE);
}
}

自动装箱与自动拆箱

自动装箱和自动拆箱是JDK1.5的新特性

自动装箱和自动拆箱是Java编译器在编译期间根据语法结构来决定是否需要装箱和拆箱

自动装箱概念

Java自动将基本数据类型转换为对应的包装类类型的过程则称为自动装箱

比如:int ===> Integer double ==> Double

自动拆箱概念

Java自动将包装类类型转换为对应的基本数据类型的过程则称为自动拆箱

示例

import java.util.ArrayList;
public class IntegerDemo02 {
public static void main(String[] args){
// 定义一个基本数据类型整型变量
int a = 50;
// 定义一个包装类Integer对象
// 在JDK1.5之前
Integer b = Integer.valueOf(a);
// 在JDK1.5之后
Integer c = a; // 涉及自动装箱,等价于:Integer c = Integer.valueOf(a);
// 定义一个基本数据类型整型变量
// 在JDK1.5之前
int d = c.intValue();
// 在JDK1.5之后
int e = c; // 涉及自动拆箱,等价于:int e = c.intValue();
double dd = 8.80;
Double d1 = dd;
// Double.valueOf(dd);
// 创建集合对象
ArrayList<Integer> list = new ArrayList<>();
// 在JDK1.5之前的做法
list.add(Integer.valueOf(1));
list.add(Integer.
valueOf(2));
// 在JDK1.5之后的做法
list.add(3); // 自动装箱 list.add(Integer.valueOf(3));
int n = list.get(0); // 自动拆箱
}
}

相关文章

阿里Java二面:Java 中为什么要设计包装类?

春招在即,时间比较紧迫,所以最近文章可能改为一周一更或者一周两更,希望各位理解。另外,有和我一样在准备暑期实习的小伙伴可以联系我互相交流 全文脉络思维导图如下:1. 为什么需要包装类在 Java 中,...

金蝶一面:Java基本数据类型有哪些?包装类型的常量池技术了解么

分享几道群友去金蝶面试遇到的 Java 基础面试真题:“Java 中的几种基本数据类型了解么?”。基本类型和包装类型的区别?包装类型的常量池技术了解么?自动装箱与拆箱了解吗?原理是什么?Java 中的...