几个重要的类

包装类

装箱

把基本类型的数据,包装到包装类中(基本类型的数据->包装类)

构造方法

  • Integer(int value)构造一个新分配的Integer对象,它表示指定的int值。
  • Integer(String s)构造一个新分配的Integer对象,它表示String参数所指示的int值。
    传递的字符串,必须是基本数值类型的字符串,否则会异常

静态方法

  • static Integer valueOf(int i) 返回一个表示指定的int值的Integer实例。
  • static Integer valueOf(String s) 返回保存指定的String的值的Integer对象。

拆箱

在包装类中取出基本类型的数据(包装类->基本类型的数据)

成员方法:

int intValue()以int类型返回该Integer的值。

  • 因为是成员方法,所有的Integer类的变量都能调用这个方法,即 变量.inValue();

自动装箱和自动拆箱

基本类型的数据和包装类之间可以自动的相互转换
JDK1.5之后出现的新特性

自动装箱:直接把int类型的整数赋值给包装类

Integer in = 1;就相当于 Integer in = new Integer(1);

自动拆箱:in是包装类,无法直接参与运算,可以自动转换为基本类型的数据,再参与计算

  • in+2;就相当于in.intValue() + 3 = 3
  • in = in + 2;就相当于in = new Integer(3)自动装箱

ArrayList集合无法直接存储整数,可以存储Integer包装类

  • ArrayList集合无法直接存储整数,可以存储Integer包装类
    ArrayList list = new ArrayList<>();

  • list.add(1);//自动装箱 list.add(new Integer(1));

  • int a = list.get(0);//自动拆箱list.get(0).inValue();

StringBuilder类

字符串缓冲区,可以提高字符串的效率

构造方法

  • Public StringBuilder():构造一个空的StringBuilder容器。

  • Public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。

    StringBuilder bu2 = new StringBuilder(“abc”);

成员方法

  • Public StringBuilder append(…):添加任意类型数据的字符串形式,并返回当前对象自身。

    StringBuilder bu2 = bu1.append(“abc”).append(1);
    System.out.println(bu1);
    System.out.println(bu2);
    System.out.println(bu1==bu2);//true 两个对象是同一个对象

    • 参数: 可以是任意的数据类型
    • 使用append方法无需接收返回值

StringBuilder和String可以相互转换:

public static void main(String[] args) {
        //String->StringBuilder
        String str = "Hello";
        System.out.println("str:"+str);
        StringBuilder bu = new StringBuilder(str);
        //往StringBuilder中添加数据
        bu.append("world");
        System.out.println("bu:"+bu);

        //StringBuilder->String
        String s = bu.toString();
        System.out.println("s:"+s);
    }
}
  • String ->StringBuilder:可以使用StringBuilder的构造方法

    String str = “Hello”;
    System.out.println(“str:”+str);
    StringBuilder bu = new StringBuilder(str);

    • StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字符串内容。
  • StringBuilder -> String:可以使用StringBuilder中的toString方法

    StringBuilder bu = new StringBuilder(str);
    //往StringBuilder中添加数据
    bu.append(“world”);
    System.out.println(“bu:”+bu);

    //StringBuilder->String
    String s = bu.toString();
    System.out.println(“s:”+s);

链式编程:方法的返回值是一个对象,可以根据对象继续调用方法

bu1.append("abc").append(1).append(true).append(8.8);
System.out.println(bu1);

Object类

所有抽象类的父类

成员方法

  • toString方法

    • String toString() 返回该对象的字符串表示
    • 直接打印对象的名字,其实就是调用对象的toString方法p=p.toString();
    • 看一个类是否重写了toString方法,直接打印这个类对应对象的名字即可

如果没有重写toString方法,那么打印就是对象的地址值(默认)
如果重写了,那么就按照重写的方式打印

 /*直接打印对象的地址值没有意义,需要重写Object类的toString方法
      * 打印对象的属性(name,age)*/
      @Override
      public String toString(){
          return "Person{name = "+name+",age = "+age+"}";
      }
  • equals方法

    • boolean equals(Object obj)指示其他某个对象是否与此对象”相等“。

    • Object 类equals方法的源码:
      public boolean equals(Object obj){
      return (this == obj);
      }

      • 参数:Object obj:可以传递任意的对象
        方法体:
==:比较运算符,返回的就是一个布尔值 true,false
this:哪个对象调用的方法,方法中的this就是哪个对象;p1调用的equals方法,所以this就是p1
obj:是传过来的参数p2
this==obj -->p1==p2

基本数据类型:比较的是值
引用数据类型:比较的是两个对象的地址值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值