包装类

包装类简介

java中基本数据类型无法使用属性和方法,数据类型转换也不方便,为了解决这一问题,Java中每一个基本数据类型都有对应的包装类,可以使用属性和方法,进行数据交互。
image.png

包装类的继承关系

Byte, Integer, Long, Float, Double, Short
◆父类为 Number
Character, Boolean
◆父类为 Object
image.png

包装类的常用方法

构造方法

◆ new Interger(1)

转换函数

1.int parseInt(String s)
◆将字符串参数解析为带符号的十进制整数。

  1. int intVvalue0
    ◆将 nteger的值作为int

  2. double doublevalue0
    ◆返回此值 Integer的 double型值。

4.static Integer valueOf(int i)
◆返回一个 nteger指定的int值的 Integer实例。

装箱与拆箱

装箱:基本数据类型转为包装类
拆箱:包装类转为基本数据类型

  1. //装箱:基本数据类型转换成包装类
  2. //1、自动装箱
  3. int num1=2;
  4. Integer num2=numl;
  5. //2、手动装箱
  6. //Integer num=new Integer(num1);
  7. //测试
  8. System.out.println("int类型变量num1="+num1);
  9. System.out.println("Integer类型对象num2="+num2);
  10. System.out.println("Integer类型对象num3="+num3);
  11. System.out.println("***********************");
  1. //拆箱:把包装类转换成基本数据类型
  2. //1、自动拆箱
  3. int num4=num2;
  4. //2、手动拆箱
  5. int num5=num2.intValue();
  6. //测试
  7. System.out.println("Integer类型对象num2="+mum2);
  8. System.out.println("自动拆箱后,int类型变量num4"+mum4);
  9. System.out.println("手动拆箱后,int类型变量num5"+mum5);
  10. double doublel=num2.doubleValue();
  11. System.out.println("手动拆箱后,double类型变量 doublel="+double1);

基本数据类型与字符串的互相转换

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

  1. int num1=2;
  2. String string=Integer.toString(num1);
  3. //测试
  4. System.out.println("int类型转换为String类型对象string="+string);
  5. System.out.println("***************************");

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

  1. //1.包装类的 parse
  2. int num2=Integer.parseInt(string);
  3. //2、包装类的 valueOf先将字符串转换为包装类
  4. //再通过自动拆箱完成基本类型转换
  5. int num3=Integer.valueOf(string);
  6. //测试
  7. System.out.println("String类型转换为int类型变量nm2"+num2);
  8. System.out.println("String类型转换为int类型变量num3="+num3);

字符串类

字符串类简介

Java中常见的字符串有两种
1.string类
◆创建字符串,操作字符串

2.StringBuffer与StringBuilder
◆字符串拼接

特点
◆ String不可变,多次赋值会产生多个字符串

  1. String string1="hello";
  2. string1 ="hello world";
  3. System.out.println(string1);

hello依然存在。并没有因为hello world的赋值而覆盖或者消失

◆ String Builder灵活拼接字符串
StringBuffer和StringBuilder一样,速度上StringBuilder更快一些

◆ StringBuilder在 android反编译中使用极其频繁
安卓底层字符串的拼接基本是使用的StringBuilder

String对象的创建

创建方式

  1. String string1="hello15pb";//创建字符串对象 这种用的最多
  2. String string2= new String();//创建空字符串对象
  3. String string3= new String("hello");//创建字符串对象

使用最频繁的是字符串比较

  1. String string1="hello15pb";
  2. if(string1.equals("hello15pb")) {
  3. System.out.println("OK");
  4. }

String类常用方法

image.png

StringBuffer与StringBuilder

image.png

  1. StringBuffer stringBuffer= new StringBuffer();
  2. StringBuilder stringBuilder = new StringBuilder();
  3. stringBuffer.append("hello");
  4. stringBuffer.append ("world");
  5. stringBuilder.append("hello");
  6. stringBuilder.append("world");
  7. System.out.println(stringBuffer);
  8. System.out.println(stringBuilder);

在字符串拼接的时候,StringBuffer与StringBuilder指向的字符串的地址都没有改变