- 浏览: 575796 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
记得以前写过一段这样的代码:
String[] arr={"a","b","c"};
List l = Arrays.asList(arr);
l.add("d");
List l = Arrays.asList(arr);
l.add("d");
自以为没有错误,结果运行下来就让系统crash掉了,后来仔细的看了下源代码,发现asList不是我想象的那么简单,1.4.2中的asList代码如下:
public static List asList(Object[] a) {
return new ArrayList(a);
}
/**
* @serial include
*/
private static class ArrayList extends AbstractList
implements RandomAccess, java.io.Serializable
{
private static final long serialVersionUID = -2764017481108945198L;
private Object[] a;
ArrayList(Object[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
public int size() {
return a.length;
}
public Object[] toArray() {
return (Object[]) a.clone();
}
public Object get(int index) {
return a[index];
}
public Object set(int index, Object element) {
Object oldValue = a[index];
a[index] = element;
return oldValue;
}
public int indexOf(Object o) {
if (o==null) {
for (int i=0; i<a.length; i++)
if (a[i]==null)
return i;
} else {
for (int i=0; i<a.length; i++)
if (o.equals(a[i]))
return i;
}
return -1;
}
public boolean contains(Object o) {
return indexOf(o) != -1;
}
}
return new ArrayList(a);
}
/**
* @serial include
*/
private static class ArrayList extends AbstractList
implements RandomAccess, java.io.Serializable
{
private static final long serialVersionUID = -2764017481108945198L;
private Object[] a;
ArrayList(Object[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
public int size() {
return a.length;
}
public Object[] toArray() {
return (Object[]) a.clone();
}
public Object get(int index) {
return a[index];
}
public Object set(int index, Object element) {
Object oldValue = a[index];
a[index] = element;
return oldValue;
}
public int indexOf(Object o) {
if (o==null) {
for (int i=0; i<a.length; i++)
if (a[i]==null)
return i;
} else {
for (int i=0; i<a.length; i++)
if (o.equals(a[i]))
return i;
}
return -1;
}
public boolean contains(Object o) {
return indexOf(o) != -1;
}
}
这个ArrayList是Arrays的内部类,可不要看成是java.util.ArrayList,从方法来看只是一个只读的数组,并没有扩展add等添加的方法,那么我刚才调用的add实际上是AbstractList中的add方法,代码一目了然了
public void add(int index, Object element) {
throw new UnsupportedOperationException();
}
throw new UnsupportedOperationException();
}
所以只能新建一个list来保存asList的返回结果,如果想做插入的话。
转自:http://www.cnblogs.com/hashmap/articles/2162444.html
发表评论
-
日期比较
2013-06-13 16:21 1165比较日期: function compareDate( ... -
RESTFUL
2013-05-29 17:21 0a -
hibernate命名查询问题
2013-01-30 16:38 1314hibernate 注解 @OneToOne(fetc ... -
hibernate [Null value was assigned to a property of primitive type setter of sco
2012-12-25 19:51 1113今天开发时候 hibernate 查询报错,分析原因如下: ... -
Collections.addAll
2012-09-07 18:04 2323collections用法以及list 简单实例 Colle ... -
string
2012-09-06 17:20 885String a = "ab"; ... -
mapper.readValue读取null
2012-08-17 19:21 2583如下代码,这样写不会走catch方法,此方法不报ioExcep ... -
string.split(",")返回的长度问题
2012-08-17 15:38 910String test = "#我的测试#&q ... -
thumbnailator 图片缩放问题
2012-08-17 19:29 2745这段代码上传1.7m图片会报错: publ ... -
模拟微博新鲜事短网址处理方式
2012-08-16 17:40 0a -
新鲜事短连接
2012-08-19 12:01 954现在需求如下: 使 ... -
jackson objectMapper.readValue 读取并存成想要的类型
2012-07-26 20:16 3700两种方式: java反射里面有个很有趣的东东,反射解析成li ... -
spring mvc responseBody 会把特殊字符转义
2012-07-26 19:53 4503框架用的spring 采用spring mvc 方式进行图片上 ... -
Out of range value for column 'bindUid' at row 1
2012-07-19 20:35 1489今天弄新浪微博绑定,数据库oauth_token表需要插入bi ... -
图片复制
2012-07-05 11:53 1065import java.io.File;import java ... -
thumbnailator 图片缩放
2012-07-04 20:10 1371Thumbnailator是一个用来生成图像缩略图的 J ... -
java File
2012-06-29 13:53 1267直接下载的,整理的很好,这里做个记录,基础的东西都是。 Fi ... -
spring mvc 自己遇到的几个错误
2012-06-13 14:36 1195where 1=1 and t.name like '%&q ... -
Request method 'POST' not supported
2012-06-08 10:53 5202项目采用spring mvc框架实现,插入数据时候采用 ... -
beanPropertyRowMapper
2012-08-10 11:24 1076@SuppressWarnings(&quo ...
相关推荐
Java中Arrays.asList()方法详解及实例 Arrays.asList()方法是Java中一个常用的方法,它将数组转换为列表。该方法的签名为`public static <T> List<T> asList(T... a)`,它可以接受变长参数,通常情况下是一个数组...
Java中的`Arrays.asList()`方法是Java集合框架的一部分,它允许我们将数组或变长参数转换为一个固定大小的`List`对象。这个方法在处理数组与集合之间的转换时非常有用,尤其是当你需要使用集合API操作数组时。下面...
List 可以使用 toArray() 方法转换为 Array,Array 可以使用 Arrays.asList() 方法转换为 List,由于 Arrays.asList() 方法返回的是固定的 List,可以使用 new ArrayList(Arrays.asList(array)) 方法来创建一个可扩...
### Java 8的新特性详解 #### 一、概述 Java 8作为自Java 5以来最重要的版本更新之一,带来了诸多革新之处。它不仅在语言层面引入了许多改进,还在编译器、库、工具以及JVM等方面实现了显著的增强。本文旨在全面地...
Java标准库中的Arrays类提供了一个asList()方法,可以将数组直接转换为ArrayList类型的List。例如: ```java Integer[] array = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(array); ``` 需要注意的是,...
List<List<Integer>> nestedNumbers = Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3, 4, 5)); JavaRDD<List<Integer>> nestedNumbersRDD = sc.parallelize(nestedNumbers); JavaRDD<Integer> flatNumbersRDD...
### Java 8 新特性详解 #### Lambda 表达式 Lambda 表达式的引入极大地简化了Java中的函数式编程,使得代码更为简洁易懂。它允许我们以匿名函数的形式定义和传递行为,这对于实现诸如回调函数等场景尤其有用。 **...
Arrays.asList 方法返回的 List 并不是我们常用的 java.util.ArrayList,而是 Arrays 的静态内部类 java.util.Arrays.ArrayList,该类继承自抽象类 java.util.AbstractList,但没有实现 add 方法,默认抛出 java....
### Java数组十种操作方法详解 #### 一、数组的基本定义与初始化 1. **动态定义数组**:可以通过指定数组的长度来动态定义一个数组,例如: ```java String[] aArray = new String[5]; ``` 这里定义了一个长度...
- `asList()`:将数组转换为`ArrayList`,这样就可以使用集合框架的方法。 总的来说,`Arrays`类极大地简化了对数组的操作,提供了丰富的功能,包括输出、排序、复制和比较。在日常开发中,我们应充分利用这些工具...
List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 9); Collections.sort(numbers, (a, b) -> a - b); // 升序排序 ``` Lambda表达式的关键在于它能够使代码更简洁,同时保持清晰的逻辑。在上述例子中,我们传递...
但是,对于基本类型的数组,`Arrays.asList()`会将整个数组作为一个元素放入List,而不是将数组的每个元素分别添加。例如: ```java int[] a1 = new int[]{1, 2, 3}; String[] a2 = new String[]{"a", "b", "c"}...
可以通过`Arrays.asList()`将数组转换为ArrayList,然后创建新的ArrayList对象:`ArrayList<String> arrayList = new ArrayList(Arrays.asList(stringArray));` 4. **检查数组是否包含某个值** 使用`Arrays....
**说明**:`Arrays.asList` 返回的对象实际上是 `java.util.Arrays$ArrayList` 类型,这个类并没有实现集合的修改方法。`Arrays.asList` 实现了适配器模式,它只提供了集合的接口,但底层数据仍然是数组。 **示例**...
### JAVA8十大新特性详解 #### 一、接口的默认方法 Java 8 引入了一个重要的特性,即允许在接口中定义有具体实现的方法,这些方法被称为**默认方法**。默认方法通过`default`关键字定义,使得接口能够提供一些默认...
Java多维数组和Arrays类方法总结详解 Java多维数组是指数组的元素也是数组,例如二维数组、三维数组等。Java中可以声明多维数组的方式有多种,下面我们将详细介绍。 一、数组的三种声明方式 Java中数组的声明方式...
**JDK 1.8 API文档详解** JDK(Java Development Kit)是Oracle公司发布的用于开发Java应用程序的软件开发工具包。JDK 1.8是Java语言的一个重要版本,它引入了许多创新特性,极大地提升了开发效率和程序性能。本文...
List<Integer> tempList = Arrays.asList(Arrays.stream(a).boxed().toArray(Integer[]::new)); Set<Integer> set = new HashSet(tempList); ``` 5. **Map的相关操作** - **获取所有值**:使用`map.values()`...
### JDK 8 新特性详解 #### 1. 前言 随着技术的不断发展与进步,JDK 1.8 的推出带来了许多重要的更新与改进,不仅极大地提升了开发效率,也使得 Java 语言更加现代化。Spring 5 和 Spring Boot 2.0 都推荐使用 JDK...