——- android培训、java培训、期待与您交流! ———-
Arrays:用于操作数组的工具类。
里面都是静态方法。
Arrays.toString();
static String toString(boolean[] a)
返回指定数组内容的字符串表示形式。
static String toString(byte[] a)
返回指定数组内容的字符串表示形式。
static String toString(char[] a)
返回指定数组内容的字符串表示形式。
static String toString(double[] a)
返回指定数组内容的字符串表示形式。
static String toString(float[] a)
返回指定数组内容的字符串表示形式。
static String toString(int[] a)
返回指定数组内容的字符串表示形式。
static String toString(long[] a)
返回指定数组内容的字符串表示形式。
static String toString(Object[] a)
返回指定数组内容的字符串表示形式。
static String toString(short[] a)
返回指定数组内容的字符串表示形式。
asList:将数组变成list集合
static List
asList(T… a)
返回一个受指定数组支持的固定大小的列表。
把数组变成集合有什么好处呢?
可以用集合的思想来操作数组,
可以用集合的方法对数组的元素进行操作。
在Java中,集合的方法比数组多很多,
所以把数组变为集合后,可以充分利用集合的这些方法,
减少程序员的工作量。
但是要注意:
不可以使用集合的增删方法,因为数组的长度是固定的。
如果使用了集合的增删方法,会出现UnsupportedOperationException。
根据asListDemo和asListDemo_2,可知:
如果数组中元素是对象,那么存入List集合的是数组元素;
如果数组中元素是基本数据类型,那么存入List集合的是数组,数组作为集合的一个元素存在。
import java.util.*;
public class ArraysDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
}
public static void toStringDemo()
{
int[] array = {1,2,3};
//Arrays.toString()练习
sop(Arrays.toString(array));
}
public static void asListDemo()
{
//asList练习
String[] array = {"Hello","java","Oh"};
List<String> aList = Arrays.asList(array);
//ArrayList<String> aList = Arrays.asList(array);
//错误 不兼容的类型: 不存在类型变量T的实例, 以使List<T>与ArrayList<String>一致
sop("contains:"+aList.contains("java"));
aList.add("adv");//错误,UnsupportedOperationException
sop(aList);
}
public static void asListDemo_2()
{
/*
int[] arr = {1,2,3};
//asList练习
List list = Arrays.asList(arr);
sop(list);
//打印结果:[[I@659e0bfd]这是一个数组的地址,
//把数组作为一个对象存入了List集合
*/
/*
int[] arr = {1,2,3};
//asList练习
List<int[]> list = Arrays.asList(arr);
sop(list);
//打印结果:[[I@659e0bfd]这是一个数组的地址,
*/
Integer[] arr = {1,2,3};
//asList练习
List<Integer> list = Arrays.asList(arr);
sop(list);//打印[1, 2, 3]
//Integer自动插箱,自动装箱,存入的是对象Integer 1 2 3
}
}
数组转集合后不可以增删
把数组变成集合的好处