七:Object:常用类

七:Object:常用类

7.1克隆方法clone()

格式: 类名.clone();

  1. protected Object clone() throws CloneNotSupportedException:
  2. 创建对象并返回该对象的副本
  3. 这个方法会抛出一个异常,throws:表示的是可能出现异常,针对调用者必须进行处理

重写的步骤是:

  1. 声明实现Cloneable接口。(贴标签技术,其实质并没有任何方法需要实现,类似于序列化)
  2. 调用super.clone拿到一个对象,如果父类的clone实现没有问题的话,在该对象的内存存储中,所有父类定义的field都已经clone好了,该类中的primitive(基本数据类型)和不可变类型(string)引用也克隆好了,可变类型引用都是浅copy。
  3. 把浅copy的引用指向原型对象新的克隆体。
7.2Scanner类:文本扫描器
  1. public boolean hasNextXXX():判断是否有指定类型数据,如果没有指定类型则为String
  2. public XXX nextXXX():取得指定类型的数据,如果没有指定类型则为String
  3. public Scanner useDelimiter(Pattren pattern):自定义分隔符
7.3 equals

含义: equals()比较的是同一个类型的两个不同对象里的属性是否都相等,相等返回true,否则返回false。
注意: API中某些常用的类(如String、Date、File、包装类等)都已经重写了Object类中的equals()方法,所以可以直接调用,而自己定义的类没有重写,需要的话就自己重写equals(),快捷键(在Eclipce中Alt Shift S)按一下就写好了。

==和equals()的区别

  • = =:是运算符。 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,而引用类型就是比较内存地址。并且必须保证符号左右两边的变量类型一致,即都是比较基本类型,或者都是比较引用类型。
  • equals():是java.lang.Object类里面的方法。只能适用于引用数据类型。如果类的该方法没有被重写过默认也是= =
7.4 Math.random() 随机数

Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值

7.5 String类的常用的转换功能
7.5.1String的构造方法:
  • String(String original):把字符串数据封装成字符串对象
  • String(char[] value):把字符数组的数据封装成字符串对象
  • String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
7.5.2String类的获取功能:
  1. length():获取字符串的长度,其实也就是字符个数
        String str = "System.out.print()";
        //计算str字符串的长度
        System.out.println(str.length());
		//运行结果是:18
  1. charAt(int index):获取指定索引处的字符
        String str = "System.out.print()";
        //获取给定索引值的字符串内容
        System.out.println(str.charAt(5));
		//运行结果是:m
  1. indexOf(String str):获取str在字符串对象中第一次出现的索引
    注意: 字符串如果是英文字母则区分大小写
        String str = "System.out.print()";
        //获取给定索引值的字符串内容
        System.out.println(str.indexOf("s",0));
        //运行结果是:2
  1. substring(int start):从start开始截取字符串
    ()中输入int类型整数,参数为一个时“截取索引为该参数到末尾”。参数为两个时“索引为带一个到第二个的字符串截取[1,2)”
       String str = "System.out.print()";
       //获取给定索引值的字符串内容
       System.out.println(str.substring(1));
       //运行结果是:ystem.out.print()
       System.out.println(str.substring(1,3));
       //运行结果是:ys
7.5.3String判断功能
  1. equals(Object obj):比较字符串的内容是否相同
        String str = "System.out.print()";
        System.out.println(str.equals("System.out.print()"));
        System.out.println(str.equals("System.out.println(str.substring(1,3))"));
        //结果是true、false
  1. equalsIgnoreCase(String anotherString):比较字符串的内容是否相同,忽略大小写
 String str = "System.out.print()";
        System.out.println(str.equalsIgnoreCase("system.out.print()"));
        System.out.println(str.equalsIgnoreCase("system.out.println(str.substring(1,3))"));
        //结果是true、false
  1. startsWith(String prefix):判断字符串对象是否以指定的字符开头(区分大小写)
        String str = "System.out.print()";
        System.out.println(str.startsWith("S"));
        //结果是true
  1. startsWith(String prefix,int toffset):判断字符串对象是否以指定的字符开头,参数toffset为指定从哪个下标开始
        String str = "System.out.print()";
        System.out.println(str.startsWith(".",6));
        //结果是true、true
  1. isEmpty():判断指定字符串是否为空
        String str = "System.out.print()";
        String str1= "";
        System.out.println(str.isEmpty());//false
        System.out.println(str1.isEmpty());//true
        //输出结果是:false、true
7.5.4String类中的转化方法:
  1. toCharArray():把字符串转换为字符数组
        String str = "李逍遥love赵灵儿";
        char arr[] = str.toCharArray();
        printArray(arr);
    }
    public static void printArray(char a[]) {

        for(int i=0;i<a.length;i++) {
            System.out.print(a[i]+"--");
        }
    }
        //输出结果是:李--逍--遥--l--o--v--e--赵--灵--儿--
  1. toLowerCase():把字符串转换为小写字符串
        String str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        System.out.println(str1.toLowerCase());
        //输出的结果是:abcdefghijklmnopqrstuvwxyz
  1. ** toUpperCase():把字符串转换为大写字符串**
        String str1 = "abcdefghijklmnopqrstuvwxyz";
        System.out.println(str1.toUpperCase());
        //输出的结果是:ABCDEFGHIJKLMNOPQRSTUVWXYZ
7.5.5其他常用方法
  1. trim():去除字符串两端空格
        String str= "    a  b  c d e f g h    ";
        System.out.println(str.trim());
        System.out.println(str);
        //输出的结果是:
    //    a  b  c d e f g h
    //a  b  c d e f g h 
  1. split():去除字符串中指定的的字符,然后返回一个新的字符串
        String str = "lalalalalalalalala";
        String array[] = str.split("a");
        printString(array);
    }
    public static void printString(String a[]) {
        for(int i=0;i<a.length;i++) {
            System.out.print(a[i]);
        }
    }
        //输出的结果是:lllllllll
  1. subSequence(int beginIndex,int endIndex ):截取字符串中指定位置的字符组成一个新的字符串
    public static void main(String[] args) {
        String str = "System.out.println()";
        System.out.println(str.subSequence(1, 10));
        //输出的结果是:ystem.out
    }
  1. replace(char oldChar, char newChar):将指定字符替换成另一个指定的字符
        String str = "System.out.println()";
        System.out.println(str.replace("n","t"));
         //输出的结果是:System.out.prittlt()
  1. replaceAll(String regex,String replasement):用新的内容替换全部旧内容
        String str = "System.out.println()";
        System.out.println(str.replaceAll("out","%"));
         //输出的结果是:System.%.println()
  1. replaceFirst(String regex,String replacement):替换首个满足条件的内容区分大小写
        String str = "System.out.println()";
        System.out.println(str.replaceFirst("s","%"));
         //输出的结果是:Sy%tem.out.println()
  1. lastIndexOf(String str):返回指定字符出现的最后一次的下标
        String str = "System.out.println()";
        System.out.println(str.lastIndexOf("t"));
         //输出的结果是:15
  1. contains(CharSequence s):查看字符串中是都含有指定字符
        String str = "System.out.println()";
        System.out.println(str.contains("t"));
         //输出的结果是:ture
  1. concat(String str):在原有的字符串的基础上加上指定字符串
        String str = "System.out.println()";
        System.out.println(str.concat("t"));
         //输出的结果是:System.out.println()t
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值