面向对象 (七)

发布于:2022-08-08 ⋅ 阅读:(440) ⋅ 点赞:(0)

活动地址:CSDN21天学习挑战赛

目录

包装类

自动装箱与拆箱

三者的相互转换


toString方法


Object类中toString()的使用:

1、当我们输出一个对象的引用时,实际上就是调用当前对象的toString( )。

2、Object类中toString()的定义:

public String toString (){
		return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

3、像String、Date、File、包装类等都重写了Object类中toString()方法。使得在调用toString方法时,返回实体"实体内容"信息

4、自定义类也可以重写toString()方法,当调用此方法时,返回对象的"实体内容"

**

包装类


1,基本理解

1、java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征

2、基本数据类型、包装类、String三者之间的相互转换

基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

其中除了int型和char型的包装类写法有些不同,其他的包装类只是将第一个字母改为大写

2,基本数据类型转为包装类

调用包装类的构造器

int num1 = 10;
Integer in1 = new Integer(num1);//将num1进行包装
System.out.println(in1.toString());//10

//Integer的String形参必须全是数
Integer in2 = new Integer("123");
System.out.println(in2.toString());//123
//这种情况就会报错
//		Integer in3 = new Integer("123abc");
//		System.out.println(in3.toString());

Float f1 = new Float(12.3f);
Float f2 = new Float("12.3");
System.out.println(f1);//12.3
System.out.println(f2);//12.3

boolean b1 = new Boolean(true);
boolean b2 = new Boolean("true");
boolean b3 = new Boolean("true123");
System.out.println(b1);//true
System.out.println(b2);//true
System.out.println(b3);//false

3,包装类转为基本数据类型

调用包装类的xxxValue

Integer in1 = new Integer(12);

int i1 = in1.intValue();//包装类--->基本数据类型
System.out.println(i1 + 1);//13  转换的基本数据可以直接进行运算

**

自动装箱与拆箱


JDK  5.0新特性:自动装箱与拆箱

自动装箱:基本数据类型 >>> 包装类

int num1 = 10;
Integer in1 = num1;//int型变量直接赋值给一个类的变量    自动装箱

boolean b1 = true;
Boolean b2 = b1;//自动装箱

自动拆箱:包装类 >>> 基本数据类型

int num1 = 10;
Integer in1 = num1;

int num2 = in1;//自动拆箱

**

三者的相互转换


1,基本数据类型、包装类 >>> String

调用String重载的valueOf(Xxx xxx)

int num1 =10;
//方式1:连接运算  将基本数据类型与空字符串进行连接
String str1 = num1 + "";
System.out.println(str1);//10

//方式2:调用String的valueOf(Xxx xx)
Integer in1 = num1;
String str2 = String.valueOf(in1);
System.out.println(str2);//10

2,String >>> 基本数据类型、包装类

调用包装类的parseXxx(String s)

String str1 = "123";
int num2 = Integer.parseInt(str1);
System.out.println(num2 + 1);//124

String str2 = "true";
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);//true

提醒:在发布作品前请把不用的内容删掉(活动地址请保留)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到