java语言是一个面向对象的语言,但是java中的基本数据类型却不是面向对象的,由于Java中基本数据类型时沿用了C语言的特点,所以为了让Java语言基于面向对象特性,Java在所有的基本数据类型在java.lang报中都有一个包装类,使用包装类可以解决我们程序中很多问题。
常用的包装类可以分为三类:Character、Number、Boolean,继承关系如下图所示:
包装类和基本数据类型的关系
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
char | Character |
long | Long |
float | Float |
boolean | Boolean |
double | Double |
一、Integer类
Integer类在对象中包装了一个基本类型int的值,该类的对象包含一个int类型的字段。此外,该类提供了多个方法,能在int类型和String类型之间互相转换,同时还提供了处理int类型时非常有用的其他一些常量和方法。
构造方法
构造方法摘要 | |
---|---|
Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。 | |
Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。 |
常用方法
static int | parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析。 |
static int | parseInt(String s, int radix) 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。 |
static String | toBinaryString(int i) 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。 |
static String | toHexString(int i) 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。 |
static String | toOctalString(int i) 以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。 |
static Integer | valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。 |
static Integer | valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。 |
二、Character类
Character
类在对象中包装一个基本类型 char
的值。Character
类型的对象包含类型为 char
的单个字段。
此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。
构造方法
Character(char value) 构造一个新分配的 Character 对象,用以表示指定的 char 值。 |
常用方法
static boolean | isDigit(char ch) 确定指定字符是否为数字。 |
static boolean | isLetter(char ch) 确定指定字符是否为字母。 |
static boolean | isLetterOrDigit(char ch) 确定指定字符是否为字母或数字。 |
static boolean | isLowerCase(char ch) 确定指定字符是否为小写字母。 |
static boolean | isSpaceChar(char ch) 确定指定字符是否为 Unicode 空白字符。 |
static boolean | isTitleCase(char ch) 确定指定字符是否为首字母大写字符。 |
static boolean | isUpperCase(char ch) 确定指定字符是否为大写字母。 |
三、经典案例
package com.zking.test;
import java.io.IOException;
public class Demo {
public static void main(String[] args) {
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
System.out.println(Integer.min(12, 1));
// 封装类也可以用来定义变量
Integer i = 10;
int a = 10;
System.out.println(i == a);// true
Integer b = new Integer(10);
System.out.println(i == b);// false
Integer c = new Integer(10);
System.out.println(b == c);// false
Integer d = 10;
System.out.println(i == d);// true
// Integer封装类的常用方法
// Integer.valueOf(i)
// 参数:int 将int--->Integer
Integer valueOf = Integer.valueOf(10);
// //参数:String 将String--->Integer 数字型的字符串变量
Integer valueOf2 = Integer.valueOf("a123");
//
// //通过进制的方法来实现将字符串(数字型)转成int
int parseInt = Integer.parseInt("123");
// 10的二进制
String binaryString = Integer.toBinaryString(10);
System.out.println(binaryString);
// 10的八进制
String octalString = Integer.toOctalString(10);
System.out.println(octalString);
// 10的十六进制
System.out.println(Integer.toHexString(10));
// 1010
int parseInt2 = Integer.parseInt("1010", 2);
System.out.println(parseInt2);
System.out.println(Integer.parseInt("12", 8));
System.out.println(Integer.parseInt("a", 16));
System.out.println(Integer.parseInt("12"));// 12
// 注意事项:如果parseInt第二个参数没有,默认将参数1当做成10进制数据自动转换
// Character:代表的是char的封装类
// 判断的方法
System.out.println(Character.isUpperCase('A'));// 大写
System.out.println(Character.isLowerCase('a'));// 小写
System.out.println(Character.isDigit('9'));// 数字
System.out.println(Character.isTitleCase("mynameiszz".charAt(0)));
System.out.println(Character.isLetter('7'));// 判断是否是字母
}
}