`
stoneuu
  • 浏览: 44942 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

list array互转

阅读更多

1 数组转list可以使用Arrays.asList(),用ArrayList的构造方法新建一个arraylist

如下:

ArrayList(E[] array) {
            if (array==null)
                throw new NullPointerException();
	    a = array;
	}

 因此使用前需要null判断

此ArrayList是Arrays的一个内部类,不是java.util.ArrayList,未研究

 

2  list转array list接口有两个重载的toArray(),toArray(T[] a)

如果使用toArray()等同于toArray(new Object[0])

// List转换为数组
	public static String[] list2Array(List<String> list) {
		String[] strs1 = list.toArray(new String[list.size()]);
		return strs1;
	}

 实验表明不指定长度也可以,如

names.toArray(new String[]{})

 网上搜的

 toArray()正确使用方式如下:

        1)  Long[] l = new Long[<total size>];
              list.toArray(l);
        2)  Long[] l = (Long []) list.toArray(new Long[0]);

        3)  Long [] a = new Long[<total size>];
              Long [] l = (Long []) list.toArray(a);

未进一步实验

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayUtil {
	
	/**
	 * 数组转换为List,Arrays.asList可能抛出空指针异常,此方法不会
	 * @param strs
	 * @return
	 */
	public static List<String> array2List(String... strs) {
		if (null==strs||strs.length<1) {
			return new ArrayList<String>(0);
		}
		List<String> list = Arrays.asList(strs);
		return list;
	}

	// List转换为数组
	public static String[] list2Array(List<String> list) {
		String[] strs = list.toArray(new String[list.size()]);
		return strs;
	}
	
	public static void main(String[] args) {
		String a="a";
		String b="b";
		String c="c";
		
		List<String> list=array2List(a,b,c);
//		List<String> list=array2List(new String[]{"aa","bb","cc"});
		for (String string : list) {
			System.out.println(string);
		}
	}
}

 

分享到:
评论

相关推荐

    java中List、Array、Map、Set等集合相互转换

    主要介绍了java中List、Array、Map、Set等集合相互转换的相关资料,需要的朋友可以参考下

    exrb:Ruby-Elixir互操作性

    Ruby-Elixir互操作性 有一些宝石可以解码Erlang的外部术语格式,但是它们都是为Erlang及其语义准备的。 该库使自己更接近Elixir: Ruby 长生不老药 Fixnum integer Bignum integer Float float Symbol atom ...

    C#语言规范(4.0版本)

    Microsoft(微软)C#语言规范4.0版本,非常值得大家学习收藏! 目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 1.6.2 可访问性 13 ...

    微软C#语言规范,C#语言教程中文版

    目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 1.6.2 可访问性 13 1.6.3 类型参数 13 1.6.4 基类 14 ...10.7.3 自动实现...

    C#语言规范4.0

    目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 1.6.2 可访问性 13 1.6.3 类型参数 13 1.6.4 基类 14 ...10.7.3 自动实现...

    C#_语言规范_4.0_中文版

    C# 语言规范 版本 4.0 目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 1.6.2 可访问性 13 1.6.3 类型参数 13 ...10.7.2 ...

    C#语言规范(2.0,3.0,4.0合集)

    这个是C#语言规范2.0,3.0,4.0的合集,是关于 C# 语法的权威资料。它们包含该语言各个方面的详细信息,包括 Visual C# 产品文档未涉及的许多语法点。 4.0目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 ...

    ZendFramework中文文档

    9.5.3. Create dates from an array 9.6. Constants for General Date Functions 9.6.1. Using Constants 9.6.2. List of All Constants 9.6.3. Self-Defined OUTPUT Formats with ISO 9.6.4. Self-defined ...

    net学习笔记及其他代码应用

    if (array[j] &lt; array) { temp = array ; array = array[j] ; array[j] = temp ; } } } 9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 答:不是。可以用任意类型。 10.求以下表达式的值,...

Global site tag (gtag.js) - Google Analytics