String[] ss=new String[]{"a","b"};
List<String> list= Arrays.asList(ss);
list.add("dd");
for(String s:list)
{
System.out.println(s);
}
这段代码 会抛出
Exception in thread "main" java.lang.UnsupportedOperationException
原因是asList返回的不是一个我们常用的ArrayList,只是一个内部类。
仅仅是把一个数组以List的现实表示,内部还是一个数组,还是仅仅有数组
的一些功能。
add的方法就直接抛出异常了。。
asList的作用只是为了 方便使用。
底层仍然是一个数组,保持数组能拥有的所有操作。
比如修改某一个元素,或者遍历。
但是不能够改变长度。
只是以List形态出现,为了某些仅对List读操作的方法可以顺利的执行。
可以用这种方式去实现
String[] ss=new String[]{"a","b"};
List<String> list=new ArrayList<String>();
list.addAllI( Arrays.asList(ss););
list.add("dd");
for(String s:list)
{
System.out.println(s);
}
还有就是 数组不可以强制转换
Object[] os=new Object[]{"a","b"};
String[] ss=(String[]) os;
这样也会报错:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at com.sunline.flow.ide.project.navigator.Test.main(Test.java:42)
分享到:
相关推荐
本文将针对Java程序员容易犯的10个错误进行详细讲解,帮助大家避免这些陷阱。 1. **Array 转 ArrayList**: 当使用`Arrays.asList()`方法将数组转换为列表时,返回的是`java.util.Arrays.ArrayList`,这是一个内部...
### Java编码常犯错误 #### 一、字符串拼装SQL **问题描述**:在Java开发过程中,直接使用字符串拼接的方式构造SQL语句是一种常见的做法。然而这种方式存在明显的安全隐患和性能问题。 - **安全漏洞**:直接拼接...
本篇将详细探讨"Java习题(一些不注意就犯的错误)"中涉及的知识点,包括字符谜题、循环谜题、异常谜题、类谜题以及库谜题,旨在帮助你更好地理解和避免这些常见问题。 1. 字符谜题: Java中的字符处理有时会让人...
### Java程序中最易犯的21种错误解析 在Java编程实践中,开发人员经常会遇到一些常见的陷阱和误区,这些问题不仅会影响代码的质量,还可能导致程序运行时出现不可预知的错误。下面将详细介绍这些常见的错误,并提供...
以下是Java程序员常犯的五个错误的详细解析,以及如何避免这些错误的建议。 1. **过度使用 null** 在Java中,null 常常被用来表示“无”或“不存在”,但过度依赖null可能导致NullPointerException。当方法返回...
1. **基础语法错误**:这是初学者最容易犯的错误,包括但不限于括号不匹配、缺少分号、类型转换错误、变量未声明或初始化等。例如,Java中的`==`用于比较基本类型,而`equals()`用于对象的比较,这两者的混淆是常见...
然而,即使是经验丰富的开发者,也可能会在一些基本的Java知识点上犯错误。"JAVA基础易错总结(50%你不知道)"这份资料,由大鹏历时5个月精心原创,旨在揭示那些易被忽视或误解的Java基础知识,帮助开发者提高代码...
《JAVA PUZZLERS》是一本深受欢迎的Java编程书籍,旨在揭示编程语言中的微妙陷阱和易犯错误,帮助开发者提升编程技能和理解。这本书以其独特的“谜题”形式,通过一系列精心设计的问题,引导读者探索Java语言的深奥...
在Java编程中,"BUG模式"通常指的是程序员在编写代码时容易犯的一些常见错误或陷阱,这些错误可能导致程序运行不正常、性能下降甚至系统崩溃。理解并避免这些BUG模式是提高Java程序质量和效率的关键。本篇文章将深入...
- **易犯错误的关键字**:列出了一些容易被误用的Java关键字。 - **注释的使用**:介绍了不同类型的注释及其在代码中的作用。 - **3.2 原始类型** - **int与Integer的区别**:解释了int作为基本类型与Integer...
- **常见错误**:列举并解释在Java编程过程中容易犯的错误,帮助读者避免这些陷阱。 - **怎样做**:提供具体的编程技巧和方法,指导读者如何实现特定功能。 - **质量提示**:强调高质量代码的重要性,并给出编写高效...
1.6.3 初学者容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,到底是学习Eclipse好呢,还是学习JBuilder好呢? 21 1.9 本章小结 22 本章练习 22 第2章 ...
4. 编写Java程序最容易犯的21种错误: 初学者常犯的错误包括: - 忘记分号或括号不匹配 - 不理解作用域规则,导致变量未声明或不可见 - 对null值处理不当,引发NullPointerException - 不合理使用equals()和==,混淆...
Bug模式是程序员在编码时容易犯的错误,理解并掌握这些模式有助于提升代码质量,避免不必要的问题出现。下面,我们将详细探讨几个关键的知识点。 1. **内存泄漏**:Java中的内存泄漏通常是由于对象不再使用但仍然被...
12. 初学者容易犯的错误 Java编程基础结构化程序设计简介: 1. 程序的三种基本结构 2. 面向对象程序设计简介 3. 面向对象的基本特征 4. Java的面向对象特征 5. 类和对象 6. 注释、标识符和关键字 7. 数据类型分类 ...
**常见的Java泥潭**指容易让开发者陷入困境的编程实践: 1. **不稳定的Runtime.getRuntime().exec()**:可能导致安全问题和资源泄漏。 2. **JDK自带的几个Timer的适用场合**:不同的场景选择不同的定时器。 3. **池...
3. **常见误区**:指出初学者容易犯的错误,提供正确的解决办法。 4. **代码规范**:讲解Java编程规范,如命名规则、注释规范等,提高代码可读性。 通过这些文档的学习,你不仅可以系统地了解Java的基础知识,还能...
然而,即便如此,新手和经验丰富的开发者都可能在编写代码时犯一些低级错误,这些错误可能导致程序运行异常、性能下降或难以维护。Java新十大低级错误包括: 1. 忘记初始化变量:未初始化的变量可能导致不可预测的...
4. **常见错误解析**:列举考生在备考过程中容易犯的错误,并提供改正方案。 综上所述,《OCA/OCP Java SE 7 Programmer I & II Study Guide (Exams 1Z0-803 & 1Z0-804)》这本书覆盖了从 Java 基础到高级主题的广泛...
在“awesome-bugs-master”这个压缩包中,我们可以猜测它可能包含了一个关于JavaScript错误的集合,或者是记录了一些独特、有趣的编程问题的项目。开发者们通常会将这些案例整理出来,以便于其他人学习和避免重复犯...