Java_常用API_3_常见类

常见类

Math

java.lang.Math 这样的类,被称作工具类,它的设计思想就是只提供静态方法,不让构造对象(把构造方法private修饰)。

  • 常用方法:

    方法名说明
    static int abs(int a)返回参数的绝对值
    static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数
    static double floor(double a)返回小于或等于参数的最大double值,等于一个整数
    static int round(float a)按照四舍五入返回最接近参数的 int
    static int max(int a, int b)返回两个 int 值中的较大值
    static int min(int a, int b)返回两个 int 值中的较小值
    static double pow(double a, double b)返回 a 的 b 次幂的值
    static double random()返回值为 double 的正值,[0.0,1.0)

System

  • 常用方法:

    方法名说明
    static void exit(int status)终止当前运行的 Java 虚拟机,非零表示异常终止
    static long currentTimeMillis()返回当前时间(以毫秒为单位)

Object

  • 它是所有类的顶层父类,之所以所有类默认调用父类的无参构造方法,就是因为 Object 类只有无参构造方法。

  • 常用方法(一小部分):

    方法名说明
    String toString()返回对象的字符串表示形式。建议所有子类重写该方法
    boolean equals(Object obj)比较对象是否相等。默认比较地址,重写可以比较内容
    int hashCode()JDK 根据对象的地址或字符串或数字算出来的 int 类型的数值
    Object 类自己的 hashCode() 方法对不同对象计算出的 hashcode 必定不同

包装类

  • 将基本数据类型封装成对象的好处在于,可以在对象(包装类)中定义更多的功能方法来操作该数据。这里都以 Integer 为例,其它几个基本都一样。

    • 创建包装类对象:

      现在建议使用 static Integer valueOf(int i) 来返回该数据的包装类对象,而不是 new

    • 最常用的操作:将基本数据类型与字符串之间进行转换:

      方法说明
      Stringstatic String valueOf(int i)返回 int 参数的字符串表示形式
      Integerstatic int parseInt(String s)将字符串解析为 int 类型
    • 自动装箱和拆箱:

      包装类的对象可以直接和基本数据类型进行运算赋值等操作,相互运算相互赋值都可以。

      • 装箱:把基本数据类型转换为对应的包装类类型

      • 拆箱:把包装类类型转换为对应的基本数据类型

    注意:在使用包装类类型的时候,如果做操作,最好先判断是否为 null (事实上,在 Java 中只要是对对象的操作,最好都要先判断是不是 null

  • 对应关系:

    基本数据类型包装类
    byteByte
    shortShort
    intInteger
    longLong
    floatFloat
    doubleDouble
    charCharacter
    booleanBoolean

String

  1. 特点:

    • Java 程序中的所有字符串都是 String 类的实例。
    • 字符串对象在创建后不能被更改。
    • 字符串效果上相当于字符数组(char[]),JDK9 以后其底层是字节数组(byte[])。
  2. 实例化:

    • "内容" 的方式在代码中写出的字符串,只要内容相同,无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护。

    • 以构造方法形式创建 String 对象,则和普通地用类创建对象一样,new 一次一个新对象,不管内容是否相同:

      构造方法说明
      public String()创建一个空白字符串对象,不含有任何内容
      public String(String str)创建一个字符串对象,内容同传入的字符串
      public String(char[] chs)根据字符数组的内容,来创建字符串对象
      public String(byte[] bys)根据字节数组的内容,来创建字符串对象(ASCII码)
      String s1 = "abc";
      String s2 = "abc";
      System.out.println(s1 == s2); //true
      
      String s3 = new String(s1);
      System.out.println(s1 == s3); //false
      
      char[] chars = {'a', 'b', 'c'};
      String s4 = new String(chars);
      System.out.println(s1 == s4); //false
      
  3. 常用方法:

    方法名说明
    public int length()返回此字符串的长度,长度是按多少个char计算的,对于占两个char的单字符,length算 2
    public char charAt(int index)返回指定索引处的 char 值
    public boolean equals(Object anObject)比较字符串的内容是否相同,严格区分大小写
    byte[] getBytes()使用平台的默认字符集将该 String 编码为一系列字节,将结果存储到新的字节数组中
    byte[] getBytes(String charsetName)使用指定的字符集将该 String编码为一系列字节,将结果存储到新的字节数组中
    String(byte[] bytes)通过使用平台的默认字符集解码指定的字节数组来构造新的 String
    String(byte[] bytes, String charsetName)通过指定的字符集解码指定的字节数组来构造新的 String

StringBuilder

  1. 特点:

    • Java 中 String 对象在创建后不可修改,而 StringBuilder 可以认为是创建后可修改的 String ,用于弥补 String 不可修改的不足。
    • 使用方式: 在需要修改字符串时,由其构造出一个 StringBuilder 类对象,利用其方法进行修改,修改完成后,再用其方法返回一个最终结果的 String 对象。
  2. 构造方法:

    方法名说明
    public StringBuilder()创建一个空白可变字符串对象,不含有任何内容
    public StringBuilder(String str)根据字符串的内容,来创建可变字符串对象
  3. 常用方法:

    方法名说明
    public int length()返回当前字符个数长度
    public int capacity()返回当前容量(比实际字符个数多16个字符空间)
    public String toString()通过toString()就可以实现把StringBuilder转换为String
    public StringBuilder append (任意类型)添加数据,并返回对象本身
    public StringBuilder reverse()将字符串内容反转(它修改的就是自身,返回值可以不要)

Arrays

  • 常用方法:

    方法名说明
    static <T> List<T> asList(T… a)由传入的参数(数组)生成一个固定大小的 List 对象(长度不允许改变)

Collections

  • 常用方法:

    方法名说明
    static <T extends Comparable<? super T>> void sort(List<T> list)将传入的集合对象的元素自然排序
    static <T> void sort(List<T> list, Comparator<? super T> c)将传入的集合对象的元素根据传入的比较器进行排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值