day11

  1. Object
    1.1 构造方法
    public Object();

1.2 成员方法
public int hashCode() 返回对象的hashCode值(默认地址值经过运算得到的一个int值)
public final Class getClass() 获得Class对象,该对象中包含所有类的信息
public String toString(): 对象的字符串形式(默认是全类名+地址值),可重写
public boolean equals(Object obj): 判断两个对象是否是同一个对象,默认用==实现

1.3 hashCode和equals
hashCode:
​ 如果两个对象的hashCode值不同,代表他们一定不是同一个对象,
​ 如果得到的hashCode值相同, 也不一定是同一个对象
​ hashCode默认比较的是地址值
equals:
​ 判断两个对象是否是同一个对象(默认是== 实现的,可重写)
用法:
​ 一般我们在比较对象是否是同一个对象的时候,是同时使用hashCode和equals
​ 1. 先用hashCode作比较:
​ 如果hashCode不同: 一定不是同一个对象
​ 如果hashCode相同: 不一定,继续比较equals:
​ equals:
​ true 说明是同一个对象
​ false: 不是同一个对象
​ 2. 为了保证equals和 hashCode结果的一致性
​ 我们在重写equals方法的同时,也要重写hashCode(约定俗称)
重写hashCode和equals比较属性值的方法

  1. String
    2.1 构造方法
    public String()
    public String(byte[] bytes)
    public String(byte[] bytes,int offset,int length) offset:偏移量 length:长度
    public String(char[] value)
    public String(char[] value,int offset,int count)
    public String(String original)
    2.2 内存分析
    如果直接赋值,是存储在常量池中的,相同内容的字符串在常量池中值存储一份
    使用new的方式创建的话,存储在堆空间中
    我们在使用+ 拼接字符串的时候,
    ​ 如果拼接的内容中存在变量: 存放在堆内存中(底层使用new StringBuilder)
    ​ 如果都是常量: 存放在常量池中
    2.3 成员方法
    2.3.1 判断功能
    boolean equals(Object obj) 比较字符串的内容
    boolean equalsIgnoreCase(String str) 忽略大小写比较字符串的内容
    boolean contains(String str) 是否包含
    boolean startsWith(String str) 是否以…开始
    boolean endsWith(String str) 是否以…结束
    boolean isEmpty() 是否为空串
    2.3.2 获取功能
    int length() 获取字符串的长度
    char charAt(int index) 得到index(从0开始)对应的字符
    int indexOf(String str) 返回str在字符串中第一次出现的索引值,不存在返回-1
    String substring(int start) 字符串的截取,从start一直截取到最后,包含start
    String substring(int start,int end) 截取,[start-end)包含start,不包含end
    2.3.3 转换功能
    byte[] getBytes() 把一个字符串转成byte数组
    char[] toCharArray() 转成char数组
    static String valueOf(int i) 把int 转成字符串
    String toLowerCase() 转成小写
    String toUpperCase() 转成大写
    String concat(String str) 字符串的拼接
    2.3.4 其他功能
    String replace(char old,char new) 替换
    String replace(String old,String new) 替换
    String trim() 去除首尾空格
    int compareTo(String str) 按照字典顺序比较
    int compareToIgnoreCase(String str) 不区分大小写按照字典顺序比较
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值