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设置好。

原文地址:https://www.cnblogs.com/zhaopengcheng/p/5716464.html