java基础9【Object、String、compareTo、hashCode、Lambda表达式的类型】

本文详细介绍了Java中Object类的重要方法,包括equals、toString和clone等。接着深入探讨了String类的特性,强调其不可变性和常用操作。还提到了compareTo方法用于字符串比较,以及hashCode方法在哈希码生成中的作用。此外,文章也讨论了Lambda表达式的类型。最后,给出了几个关于字符串处理的练习题。
摘要由CSDN通过智能技术生成

Object

  • 顶级父类。
  • 任何一个类都将Object作为父类,也就意味着任何一个对象都可以赋值给Object对象。
  • Object类也是Java中唯一的一个没有父类的类。
  • Object:顶级父类。任何一个类都将Object作为父类使用,也因此所有的对象都可以赋值给Object对象 -Lambda表达式不能直接赋值给Object
  • getClass:获取对象的实际类型;
  • equals:比较两个对象是否相等。比较的时候默认是比较的两个对象的地址,但是实际中往往要重写(地址、参数、类型、属性);
  • toString:当打印对象的时候最底层往往是调用对象的toString
    重要方法
  • clone() — 如果一个对象要想被克隆,那么这个对象所对应的 类必须实现接口— Cloneable —这个接口中没有任何的方法和属性仅仅起标志性的作用
  • 克隆之后的对象的属性值和原对象的属性值一样
  • finalize() — 通知GC回收垃圾,GC不一定启动

String

目录,再往上一拉

  • 最终类,常量,代表字符串的类,所有的字符串都是String的对象。
  • 字符串是一个常量,定义好之后不可改变。
  • 底层是依靠字符数组来存储数据并且该字符数组定义好之后不可变
  • 只要是值一致的字符串在方法区中用的一定是同一个
  • 因为字符串是一个常量,所以它是被共享的 — 只要值相同,用的都是同一个字符串
  • 字符串本质上是一个不可变的字符数组
  • 操作不改变原字符串
  • 注意:在String中提供了一系列操作而不改变原字符串的方法,大部分都是产生了一个新的字符串
    在这里插入图片描述
    在这里插入图片描述
    如果拼接的字符串个数比较多,建议使用StringBuilder;如果个数比较少的话可以使用+
String str = “abc”; --- 1
String str = new String(“abc”); --- 2
String str = “a”; --- 1
str = str + “b”; -> 
str = new StringBuilder(str).append(“b”).toString(); - 4
String[] strs = {/* 100个元素 */};
// 将字符串数组中的所有元素进行拼接
// 使用+进行拼接 --- 整个过程要产生301个对象
String str = “”; // 1
for(String s : strs)
str += s; // 每拼接1次要额外产生3个对象,拼接100次要额外产生300个对象

// 使用StringBuilder进行拼接 --- 整个过程中要额外产生102个对象
StringBuilder sb = new StringBuilder(); // 1
for(String s : strs)
sb.append(s); // 每拼接1次要额外产生1个对象(因为拼接后就是一个对象),拼接100次要额外产生100个对象
String str = sb.toString(); // 1
如果拼接的字符串个数比较多,建议使用StringBuilder;如果个数比较少的话可以使用+
方法

目录,再往上一拉

  • instanceof — 判断对象和类的关系的 只要前边的对象是后边的类/子类/接口/子接口产生的实例,就返回一个true

  • 获取的是对象的实际类型 – o.getClass()

  • 底层默认使用==进行比较 — 比较两个对象的地址是否一样System.out.println(p1.equals(p2));
    可以重写equal方法,比较属性值(内容)是否相同

  • 表示获取从1970-01-01 00:00:00到现在的毫秒值 long begin =
    System.currentTimeMillis();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值