java Arrays.asList 问题
1.问题
public static void asList() {
System.out.println(Arrays.asList(new String[] { "a", "b" })); System.out.println(Arrays.asList(new Integer[] { 1, 2 })); System.out.println(Arrays.asList(new int[] { 1, 2 }));
System.out.println(Arrays.asList(new Object[] { new int[] { 1, 2 } }));
System.out.println(Arrays.asList(new String[] { "a", "b" }, "c")); //正确方式 apache common lang
System.out.println(Arrays.asList(ArrayUtils.toObject(new int[] { 1, 2 })));
}
[a, b]
[1, 2]
[[I@45283ce2]
[[I@2077d4de]
[[Ljava.lang.String;@2077d4de, c]
[1, 2]
因Java语言规范规定了调用一个声明为foo(T… t)的方法,比如foo(new T[]{bar,baz})等同于foo(bar,baz)这样的调用。在Arrays.asList方法中T是参数类型,
因此它必须为一个Object 类型,但是int不是,而int[]却是。Arrays.asList作为一个反面教材,告诉了我们在使用Java的可变参数设计API时为什么要非常小心。
参考:
http://www.importnew.com/14996.html
java Arrays.asList 问题的更多相关文章
- java Arrays.asList用法
java Arrays.asList用法 用途 Arrays是java容器相关操作的工具类,asList方法将Array转换为list,是Array和List之间的桥梁. 注意 Arrays.asLi ...
- java Arrays.asList()和Collections.addAll()
java中的方法Arrays.asList(arg1,arg2,arg3...),经常用在将多个元素或数组转化为List中的元素,但是在使用的时候,应该注意: arg1决定返回list的元素类型(即第 ...
- java Arrays.asList方法注意事项
1. 简介 Arrays.asList()方法可以将数组转化为长度固定的列表. 该方法强调了列表的长度是固定的,因此不能使用list的add和remove方法修改list长度. 2. 示例 impor ...
- java Arrays.asList
List<String> list = Arrays.asList("A B C D E F G H I J K L ".split(" ")); ...
- java——Arrays.asList()方法
Arrays.asList() 是将数组作为列表 问题来源于: public class Test { public static void main(String[] args) { int[] a ...
- Java -- Arrays.asList()方法
Arrays.asList() 是将数组作为列表 问题来源于: public class Test { public static void main(String[] args) { int[] a ...
- Java Arrays.asList(0,1,2,3,4,5,6,7,8,9).parallelStream().forEach 进行循环获取HttpServletRequest的为Null的解决方案
Arrays.asList(0,1,2,3,4,5,6,7,8,9).parallelStream().forEach() parallelStream是并行执行流的每个元素,也就是多线程执行,这样就 ...
- Java Arrays.asList注意事项
https://blog.csdn.net/kusedexingfu/article/details/77824189
- 【转】java.util.Arrays.asList 的用法
DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...
随机推荐
- Redis 操作有序集合数据
Redis 操作有序集合数据: > zadd names "Tom" // zadd 用于往有序集合中添加元素,其中 1 在 Redis 中称为 score(分数),用来进行 ...
- MyBatis批量更新for Mysql 实例
<update id="UpdatePwd" parameterType="java.util.List"> UPDATE FP_USER_BASE ...
- Java实现给定字符串的倒序输出
1.除2判中法: public static String orderDesc(String str){ byte [] bytes = str.getBytes(); for ( int i = 0 ...
- PL/SQL Developer的安装以及与64位Oracle Database进行连接
本文转载自budongs 一.下载 官网安装包(1106版本)下载链接: plsqldev1106.exe 官网中文语言包(110版本) 下载链接: chinese.exe [中文语言包的使用方法为: ...
- Jdk1.8在CentOS7中的安装与配置
自从2014年3月19日甲骨文公司发布Java 8.0的正式版以来,面向对象的Java语言不仅朝着一个更好的方向发展,而且吸取了当前比较流行的函数式编程的特性——Java 8.0加入了函数式编程的特点 ...
- KindEditor上传图片无法使用绝对路径
之前百度,一直查到的都是urlType使用domain,但是根本没有效果.想着去插件代码里面看,但是实在看不下去了. 最后还是百度去了.然后查到下面的一个方法.直接将其中的某部分代码注释到就好了.具体 ...
- 【Eclipse】启动时报错:No Java virtual machine (已解决)
在 Ubuntu 上下了个最新的 Eclipse ,解压后运行报这样的错误: 当然 JDK 的安装及环境变量的配置是没有问题的.使用 java -version 查询本机的JDK版本是可以的. 如果不 ...
- Openstack Nova network
对于安装设置来说,Openstack就剩下网络这个地方比较复杂. 现在比较喜欢看图 整理了一下网络的资料 1:Nova 网络HA http://unchainyourbrain.com/opensta ...
- 如何在Computer下添加System Folder
1.创建一个GUID标识该系统目录,比如:{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}.下面的操作步骤将全部使用这个示例GUID. 2.打开注册表编辑器(Registr ...
- gradle项目,连同依赖一起打jar包
在build里加入以下配置(如果不是一个可执行的jar包的话就不用配置Main-Class属性): def mainClassName = "你需要执行的main方法所在的的包名+类名&qu ...