JAVA基础:API概念、.重写toString方法、equals方法 和 ==运算符的区别、String方法、字符串缓冲区的概念与String的区别

1.API概念
API(应用程序接口) (API: Application(应用) Programming(程序) Interface(接口))
Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来
2.重写toString方法
在类里面重写toString方法后,然后输出该类对象就不会出现这种内存地址
equals方法 和 ==运算符

  1. equals方法重写前比较是的内存地址,重写后比较的是对象的属性值。
  2. == //可以比较基本数据类型,还可以比较引用数据类型
    基本数据类型比较的是数据值,引用数据类型比较的是地址值
    public class testEquals1 {
    public static void main(String[] args) {
    // method();
    // method2();
    method3();
    }
    public static void method3(){
    //字符串常量 池
    String str1= “猴子”;
    //下面str2 引用来自字符串常量池中的str1
    String str2 = new String(“猴子”);
    System.out.println(str1.hashCode()); //937628
    System.out.println(str2.hashCode()); //937628
    System.out.println(System.identityHashCode(str1));
    System.out.println(System.identityHashCode(str2));
    //比较hashCode
    System.out.println(str1.equals(str2)); //true
    //比较identityHashCode
    System.out.println(str1str2); //false
    }
    public static void method2(){
    String str1 = new String(“猴子”);
    String str2 = new String(“猴子”);
    System.out.println(str1.hashCode()); //937628
    System.out.println(str2.hashCode()); //937628
    //equals重写前比较是内存地址
    System.out.println(str1.equals(str2)); //true
    System.out.println(System.identityHashCode(str1));
    System.out.println(System.identityHashCode(str2));
    //
    比较引用数据类型 比较的是identityHashCode 物理地址值
    System.out.println(str1str2); //false
    }
    public static void method(){
    //字符串常量值
    String str1 = “猴子”;
    String str2 = “猴子”;
    System.out.println(str1.equals(str2)); //true
    System.out.println(str1
    str2); //true
    }
    }
    String字符串转换功能
    字符串转换成字符数组:toCharArray() 返回值类型是字符数组
    字符串转换大写: toUpperCase()
    字符串转换小写: toLowerCase()
    忽略大小写比较字符串是否相等: equalsIgnoreCase()
    String字符串判断功能
    1.判断字符串是否以指定的前缀开始:startsWith(String prefix)
    2.判断字符串是否以指定的后缀结束:endsWith(String suffix)
    3.判断字符串是否包含指定子串 :contains(CharSequence c);
    String字符串获取功能
    1.字符串长度: length() , 返回值类型是int
    2.截取字符串作为子串: substring(int beginIndex) 包含起始索引
    3.截取字符串作为子串: substring(int beginIndex,int endIndex) 包含起始索引,不包含结束索引
    字符串缓冲区
    StringBuilder 可变字符序列:它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。其初始容量为 16 个字符。
    常用方法:append
    +连接和append方法连接的区别:
    +连接和StringBuilder对象append方法连接
    +和StringBuilder都能做字符串拼接,但是StringBuilder的更节约内存
    因为利用+拼接字符串,每使用一次,底层都会新创建一个StringBuilder对象,然后利用这个
    StringBuilder对象拼接
    而我们手动创建的StringBuilder只利用一个就可以完成拼接,以后拼接字符串优先考虑
    StringBuilder和StringBuffer区别
    StringBuilder是线程不安全的,效率高,
    StringBuffer是线程安全的,效率低。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值