Object类和String类部分

API文档查询使用Obj
class Dog implements Cloneable{//可克隆的
    public String name;
    public int price;

    public Dog() {

    }
    public Dog(String name, int price) {
        this.name = name;
        this.price = price;
    }
    public String toString() {//重写Obj中的toString方法
        return name + "#" + price;
    }
    public boolean equals(Object obj) {//equals方法重写hashCode也应该重写
        if (obj = this) {
            return true;
        }
        if (obj instanceof Dog) {
            Dog dog = (Dog)obj;
            if(dog.name.equals(this.name)) {
                return true;
            }
        }
    }
    public int hashCode() {//hashCode和equals方法要重写必须都重写,成对出现
        return 200 + price;
    }

}

class TestDog {
    public static void main(String[] args) {
        Dog dog = new Dog(tom, 188);
        System.out.println(dog);//tom#188

        Dog dog2 = dog.cloneDog();
        System.out.println(dog2);//tom#188

        System.out.println(dog.equals(dog2));//true
        System.out.println(dog == dog2);//true
        System.out.println(dog.hashCode() == dog2.hashCode());//equals相等hashCode一定相等
        //hashCode相等equals不一定相等
    }
}

//String 类的方法使用举例
public class Test {
    public static void main(String[] args) {
        String a = "ade";
        String b = "ade";
        String e = new String("ade");
        String d = e.intern();//从常量池中取出"ade"

        String S1 = new String("a");
        String S2 = new String("a");
        System.out.println(a == b );//true
        System.out.println(S1 == S2 );//false
        System.out.println(S1.equals(S2));//true
        System.out.println(a == e);//false
        System.out.println(a == d);//true

        String s1 = "good good study,day day up";

        System.out.println(s1.charAt(5));//g  从0开始下标为5字符是
        System.out.println(s1.codePointAt(4));//103 下标为5的字符在Unicode编码中的表示
        System.out.println(s1.codePointBefore(5));//32 下标为5的前一个字符的Unicode编码
        
    }
}

转载于:https://my.oschina.net/u/3544285/blog/1186275

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值