Java常用类之Arrays类与基本类型包装类

一、Arrays类

  1、概述
  Arrays是针对数组进行操作的工具类,提供了排序,查找等功能
  2、成员方法
  a、public static String toString(int[] a)
c将数组变成如下案例所示的字符串

       int[]arr={1,2,5,6,7,4,3};
        String s = Arrays.toString(arr);
        System.out.println(s);
  输出:
  [1, 2, 5, 6, 7, 4, 3]

  b、public static void sort(int[] a)
  将数组排序

		int[]arr={1,2,5,6,7,4,3};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
输出:
[1, 2, 3, 4, 5, 6, 7]

  c、public static int binarySearch(int[] a,int key)
  查找元素的索引

		int[]arr={1,2,5,6,7,4,3};
        int i = Arrays.binarySearch(arr, 5);
        System.out.println(i);
 输出:2

二、基本类型包装类

  1、为什么会有基本类型包装类?
  为了对基本类型进行更多、更方便地操作,java就针对每一种基本类型提供了对应的类类型,常用操作之一是用于基本数据类型与字符串之间的转换。
  2、基本类型与包装类的对应
  byte    Byte
  short    Short
  int     Integer
  long     Long
  float     Float
  double    Double
  char    Character
  boolean   Boolean
  3、Integer类
   a、概述
  Integer类在对象中包装了一个基本类型的int值,该类提供了多个方法,能在int类型和String类型之间相互转换,还提供了处理int类型时非常有用的其他一些常量和方法
   b、构造方法
  public Integer(int value)
  public Integer(String s)
  注意传参如果是字符串型的,字符串中的元素一定要为数字。

		int a =123;
        Integer integer = new Integer(a);
        String s = "123";
        Integer integer1 = new Integer(s);

  c、String类型和int类型相互转换
   int —>String
   (1)和""进行拼接

		String a = 123+"";

   (2)public static String valueOf(int i)

		int i = 123;
        String a =  String.valueOf(i);

   (3)int – Integer – String

		int i = 123;
        Integer integer = new Integer(i);
        String s = integer.toString();

   (4)public static String toString(int i)

		int i = 123;
        String s = Integer.toString(i);

   String—>int

   (1)String – Integer – intValue();

		String s = "123";
        Integer integer = new Integer(s);
        int i = integer.intValue();

   (2)public static int parseInt(String s)

		String s = "123";
        int i  = Integer.parseInt(s);

  d、自动装箱和拆箱
   自动装箱:把基本类型转换为包装类类型

		Integer ii = 100;

  等同于

		Integer i1 = new Integer(100);

   自动拆箱:把包装类型转换成基本类型

		Integer ii = 100;
		ii += 200;
"先自动装箱,后自动拆箱,再自动装箱"

  讲一个Integer类的知识,先看一个代码案例

        Integer integer1 = 128;
        Integer integer2 = 128;
        System.out.println(integer1==integer2);
        Integer integer3 = 127;
        Integer integer4 = 127;
        System.out.println(integer3==integer4);
 输出:
 false
 true

  为什么输出一个是false,一个是true?
  通过原码直到,当你给Interger直接赋值也就是自动装箱的时候,java会判断你赋的这个值是否大于等于-128小于等于127,如果在这个范围内,会将缓存中的,InterCache中new中来的对象中的值给你,如果不在这个范围内,会给你new一个新对象,”==“判断的是对象的地址值是否相同,所以当对象相同时肯定相等,而”128“超出了这个范围所以是两个新对象,所以不相等。

你可能感兴趣的:(JavaSE,Java,常用类,Arrays类,基本类型包装类)