JAVA学习笔记——Array工具类以及基本类型包装类

时间:2023-02-27 15:15:41

1、Array工具类:针对数组进行操作的工具类,比如说排序和查找
      (工具类基本都是静态方法)
 常用方法:(以下以int数组为例,可以是任意类型数组)
  <1>public static String toString(int[] a) : 把数组转换成字符串(主要用于输出),格式为:[元素1,元素2,元素3 …]
  <2>public static void sort(int[] a) : 对数组进行排序
  <3>public static int binarySearch(int[] a , int key) : 二分查找
 
2、基本类型包装类 : 为了对基本数据类型进行更多的操作,更方便的操作,Java针对每一种基本数据类型提供了对应的类类型——包装类类型。
  byte       Byte
  short       Short
  int        Integer
  long       Long
  float       Float
  double      Double
  char       Character
  boolean     Boolean
  多用于用于基本数据类型与字符串之间的转换
  
(1) . Integer类
 <1>构造方法:
   public Integer(int value) ;
   public Integer(String s) ;
     注意:该s必须是由数字字符组成,否则会报错。
 <2>常用方法:
  public static String toBinaryString(int i) : 把int型i转换为其二进制的字符串(通常用于输出:Integer.tobinaryString(100) — 1100100)
  public static String toOctalString(int i) : 把int型i转换为其八进制的字符串(通常用于输出:Integer.toOctalString(100) — 144)
  public static String toHexString(int i) : 把int型i转换为其十六进制的字符串(通常用于输出: Integer.toHexString(100) — 64)
  public int intValue() : 返回该Integer类的对应的int型数字
  public static int parseInt(String s) : 把一个字符串s转换为对应的int型值
  public static int parseInt(String s , int radix) :把进制为radix的数转换为对应的十进制数
  public static String toString(int i) : 把i类型的值转换为对应的字符串用于输出
  public static String toString(int i , int radix) : 把i转换为radix进制的字符串,用于输出(radix取值范围是 2-36)
  public static Integer valueOf(int i) : 把一个int型数字转换为其Integer类对象
  public static Integer valueOf(String s) : 把一个String字符串转换为对应的Integer类的对象 (必须是数字字符)
<3>常用常量值:
  public static final int MAX_VALUE : 整型数字的最大值,即2147483647
  public static final int MIN_VALUE : 整形数字的最小值,即-2147483648
  
<4>int与String之间的互相转换:
  int –> String
  方法1:
   String s = “” + i ;
  方法2 : 推荐此种方法,因为该方法不用去管原变量是什么类型
   String s = String.valueOf( i ) ;
  方法3 : int ->Integer -> String
   Integer ii = new Integer(i) ;
   String s = ii.toString() ;
  方法4 :
   String s = Integer.toString(i) ;

   String –> int
   方法1 : String -> Integer -> int
    Integer ii = new Integer(s) ;
    int i = ii.intValue() ;
   方法2 :基本包装类型都有一个parseXxx()方法可以直接实现
    int i = Integer.parseInt(s) ; //float有Float.parseFloat() ….
    
    <5>面试题:Integer赋值注意点
      注意:Integer的数据直接赋值,如果值在-128到127之间,会直接从缓冲区里获取值,否则程序会自动new一个。
        例如:Integer i1 = 128 ;
           integer i2 = 128;
           判断 i1 == i2 ?—–> false
           Integer i3 = 127 ;
           Integer i4 = 127 ;
           判断 i3 == i4 ? —–>true

(2) Character类
该类在对象中包装一个基本类型char的值,此外,该类还提供了几种方法以确定字符的类别(大小写,数字,等等)并将字符从大写转换成小写,反之亦然。

  <1>构造方法
    Character(char value) ;
  <2>常用方法
    public static boolean isUpperCase(char ch) : 判断给定的字符是否是大写字符
    public static boolean isLowerCase(char ch) : 判断给定的字符是否是小写字符
    public static boolean isDigit(char ch) : 判断给定的字符是否是数字字符
    public static char toUpperCase(char ch) : 把给定的字符转换为大写字符
    public static char toLowerCase(char ch) : 把给定的字符转换为小写字符
    
3、自动拆装箱
在JDK5之后添加的一种新特性
自动装箱:自动把基本类型转换为包装类类型
自动拆箱:自动把包装类类型转换为基本类型
  例如: Integer ii = 100;  //自动装箱,等价于 Integer ii = Integer.valueOf(100) ;
         ii += 200 ; //自动拆箱,等价于ii = Integer.valueOf( ii.intValue() + 200 ) ;