1.泛型
泛型的本质是参数化类型,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。参数化类型:把类型当作是参数一样传递;<数据类型>只能是引用类型。
有了泛型以后,代码更加简洁,不需要强制转换,程序更加健壮,可读性也更好了。
public static void main(String[] args) {
//创建集合对象
ArrayList<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
list.add("java");
//增强for遍历
for (String s : list) {
System.out.println(s);
}
}

泛型类就是把泛型定义在类上,使用的时候,该类就会自动转换成用户想要使用的类型。
public class Test2<T> {
private T obj;
public T getObj() {
return obj;
}
public void setObj(T obj) {
this.obj = obj;
}
public static void main(String[] args) {
Test2<String> test = new Test2<>();
test.setObj(new String("你好JAVA"));
String s = test.getObj();
System.out.println(s);
Test2<Integer> test1 = new Test2<>();
test1.setObj(10);
int i = test1.getObj();
System.out.println(i);
}
}

2.序列化
序列化:把对象转换为字节序列的过程。反序列化:把字节序列恢复为对象的过程。该类必须实现 java.io.Serializable 接口,未实现此接口的类将无法进行序列化或反序列化。该类的所有属性必须是可序列化的。要序列化一个对象,首先要创建某些OutputStream对象,然后将其封装在一个ObjectOutput-Stream对象内。调用writeObject()将对象序列化,并发送给OutputStream。反序列化需要将一个InputStream封装在ObjectInputStream内,然后调用readObject()。
本文介绍了Java中的泛型和序列化。泛型提供编译时类型安全,使得代码更简洁、健壮,通过示例展示了如何在类中使用泛型。另一方面,序列化是将对象转换为字节序列的过程,反序列化则相反。要进行序列化,对象必须实现Serializable接口。文章通过实例解释了序列化和反序列化的步骤。

2009

被折叠的 条评论
为什么被折叠?



