java中异常和集合
1. java中处理错误情况有两种,1 Error,2 Exception
error是无法处理的,Exception是可以处理的情况。
Exception中又有两种情况,RuntimeException和编译时异常。
1)如果异常是运行时异常,则可以声明抛出异常,也可以不声明。可以处理异常,也可以不处理异常。
2)如果异常是编译异常,则必须声明抛出异常,也必须处理异常。
2. 集合类HashSet,如果添加元素,1)会先看他的hashCode是否相同,如果相同 2)则调用equals方法,看是否相等,如果还相等则认为是相同元素。不再添加。
TreeSet内部是一颗红黑树,所以是有顺序的。添加的元素如果不具有自然顺序,则需要实现Comparable接口。
3. 在泛型中没有多态的概念,左右两边必须一致,可以一边不写。
比如:ArrayList<String> names = new ArrayList<String>(); ArrayList names = new ArrayList<String>(); ArrayList<String> names = new ArrayList();都是可以的。而ArrayList<Object> names = new ArrayList<String>(); 或ArrayList<String> names = new ArrayList<Object>();都是不合法的。
4。 泛型
可以理解为数据类型的占位符,或数据类型的变量。
泛型方法,定义格式:访问修饰符 泛型变量声明 返回类型 函数名(参数列表。。。)。泛型类型的确定时间是实参传递进来时。
比如:public static <T> T add(T t)
泛型类
定义格式:class MyClass<T>{...},泛型类型的确定时间是实现接口时,可以指定接口中声明的泛型类型,也可以延迟到创建对象时指定泛型类型,此时需要接着声明泛型<T>。
泛型接口定义格式
interface MyInterface<T>{...}
如果想在创建接口实现类时指定自定义泛型数据类型,数据定义格式
class MyClass<T> implements MyInterface<T>{...}。
注意:接口中声明的自定义泛型,仅可以用在接口中声明的函数。类中声明的自定义泛型,仅可以用在类的函数中。
5. IO流
注意转换流的两个作用,1)将字节流转换成字符流InputStreamReader,或者将字符流转换成字节流OutputStreamWriter。2)指定字符编码格式。
6。 内省
当需要通过字符串来设置对象的属性时,可以使用apatch 提供的包commons-beanutils里面的setProperty方法,方便设置对象的属性,使用的前提条件是类已经将各个属性的setter和getter设置好。
java中异常和集合的更多相关文章
- 【集合】Java中的具体集合(一)
Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...
- Java中的List集合和迭代器
一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...
- java中 列表,集合,数组之间的转换
java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...
- Java中如何克隆集合——ArrayList和HashSet深拷贝
编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味 ...
- 《java中异常和错误》
异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...
- java中数组、集合、字符串之间的转换,以及用加强for循环遍历
java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...
- JAVA中所有与集合有关的实现类都是这六个接口的实现类
JAVA中所有与集合有关的实现类都是这六个接口的实现类. Collection接口:集合中每一个元素为一个对象,这个接口将这些对象组织在一起,形成一维结构. List接口代表按照元素一定的相关顺序来组 ...
- 浅谈java中异常抛出后代码是否会继续执行
问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element) ...
- java中异常的抛出:throw throws
java中异常的抛出:throw throws Java中的异常抛出 语法: public class ExceptionTest{ public void 方法名(参数列表) throws 异常列表 ...
随机推荐
- (链表)反转链表Reverse List
逆转链表是简单而又简单的链表问题,其问题的方法之一可以设置三个指针,一个指向当前结点,一个指向前驱结点,一个指向后继指针 代码如下: class Solution { public: ListNode ...
- 【ACM】杭电ACM题一直WA求高手看看代码
数据测试了好几个都没问题,可以就是WA不让过,检测了2个小时还是没发现有什么问题T_T!!求高手看看代码,小弟在此谢谢各位哦! #include <stdio.h> #include &l ...
- ASP.NET伪静态
http://www.duote.com/tech/5/14543.html 三.伪静态的坏处 当然犹如一篇文章的作者所说的:"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线 ...
- linux 文件查找,which,whereis,locate,find
linux 文件查找,which,whereis,locate,find 一:which 主要用于查找可执行命令的所在位置: 如图,查找命令 ls的目录: 二:whereis 主要用于查找命令的帮助文 ...
- HTTP请求响应码
① 客户方错误 100 继续 101 交换协议 ② 成功 200 OK 201 已创建 202 接收 203 非认证信息 204 无内容 205 重置内容 206 部分内容 ③ 重定向 300 多路选 ...
- Openerp 7 view画面编辑/创建/删除/复制功能控制
OpenERP 7.0中,Tree或Form画面上可以添加属性create edit delete,用于控制Create.Delete.Edit.Duplicate功能是否显现.如下例:<for ...
- CSS3实现两行或三行文字,然后多出的部分省略号代替
概述 -webkit-line-clamp 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中.限制在一个块元素显示的文本的行数. 为了实 ...
- 线代: N阶行列式
线性变换 将 (x, y) 变成 (2 x + y, x - 3 y) 就叫做线性变换, 这就是矩阵乘法, 用于表示一切线性变换. 几何上看, 把平面上的每个点 (x, y) 都变到 (2 x + y ...
- linux 文件操作库函数
fopen :打开文件 fread :读文件 fwrite : 写文件 fgetc : 读字符 fputc : 写字符 fscanf : 格式化读 fprintf : 格式化写 fseek : 文件偏 ...
- bootstrap之UpdateStrings
UpdateStrings package io.appium.android.bootstrap.handler; import io.appium.android.bootstrap.Androi ...