Java基本八种包装类
目录
Java基本八种包装类
1.java中为8种基本数据类型又对应准备了8种包装类。 8种包装类属于引用数据类型 ,父类是Object。
2.思考:为什么要再提供8种包装类呢?
8种基本数据类型对应的包装类型名是什么?
基本数据类型 | 包装类型 |
---|---|
byte | java. Lang. Byte |
short | java . lang. Short |
int | java. lang. Integer |
long | java. lang. Long |
float | java. lang. Float |
double | java. lang . Double |
boolean | java. lang .Boolean |
char | java. lang. Character |
class myInt {
int value;
public myInt(int value) {
this.value=value;
}
}
public class Test04 {
public static void main(String[] args){
//有没有这种需求:调用doSome()方法的时候需要传一 个数字进去。
//但是数字属于基本数据类型,而doSome()方法参数的类型是Object.
//可见doSome() 方法无法接收基本数据类型的数字。那怎么办呢?可以传一个数字对应的包装类进去。
//把100这个数字经过构造方法包装成对象。
myInt myInt = new myInt(100) ;
// doSome()方法虽然不能直接传100,但是可以传一个100对应的包装类型。
doSome(myInt);
}
public static void doSome(Object obj){
System. out . println(obj);
// System.out.println(obj.toString());
}
}
3.种包装类中其中6个都是数字对应的包装类,他们的父类都是Number,可以先研究一下Number中的公共的方法:
Number是一个抽象类,无法实例化对象。
Number类中有这样的方法:
byte byteValue() 以byte形式返回指定的数值
abstract double doubleValue() 以double形式返回指定的数值
abstract float floatValue() 以float形式返回指定的数值
abstract int intValue() 以int 形式返回指定的数值
abstract long longValue() 以long形式返回指定的数值
abstract short shortValue() 以short形式返回指定的数值
这些方法其实所有的数字包装类的子类都有,这些方法是负责拆箱的。
public class IntegerTest01 {
public static void main(String[] args){
//123这个基本数据类型,进行构造方法的包装达到了:基本数据类型向引用数据类型的转换。
//基本数据类型——(转换为)->引用数据类型
Integer i=new Integer(123);
//引用数据类型--(转换为)-》基本数据类型
float f=i.floatValue();
System.out.println(f);//123.0
int retValue=i.intValue();
System.out.println(retValue);//123
}
}
关于Character:
- public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符
- public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符
- public static boolean isDigit(char ch):判断给定的字符是否是数字字符
- public static char toUpperCase(char ch):把给定的字符转换为大写字符
- public static char toLowerCase(char ch):把给定的字符转换为小写字符
public class CharacterDemo {
public static void main(String[] args) {
// public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符
System.out.println("isUpperCase:" + Character.isUpperCase('B'));
System.out.println("isUpperCase:" + Character.isUpperCase('b'));
System.out.println("isUpperCase:" + Character.isUpperCase('2'));
System.out.println("-----------------------------------------");
// public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符
System.out.println("isLowerCase:" + Character.isLowerCase('B'));
System.out.println("isLowerCase:" + Character.isLowerCase('b'));
System.out.println("isLowerCase:" + Character.isLowerCase('2'));
System.out.println("-----------------------------------------");
// public static boolean isDigit(char ch):判断给定的字符是否是数字字符
System.out.println("isDigit:" + Character.isDigit('A'));
System.out.println("isDigit:" + Character.isDigit('a'));
System.out.println("isDigit:" + Character.isDigit('2'));
System.out.println("-----------------------------------------");
// public static char toUpperCase(char ch):把给定的字符转换为大写字符
System.out.println("toUpperCase:" + Character.toUpperCase('A'));
System.out.println("toUpperCase:" + Character.toUpperCase('a'));
System.out.println("-----------------------------------------");
// public static char toLowerCase(char ch):把给定的字符转换为小写字符
System.out.println("toLowerCase:" + Character.toLowerCase('A'));
System.out.println("toLowerCase:" + Character.toLowerCase('a'));
}
}
其他的包装类也类似,详情见API文档