JAVA 的泛型扩展,针对JDK1.5的优化。
2013-02-16 16:50
453 查看
在JAVA领域早期,没有提倡面向接口编程的阶段,属于历史统一化的问题。后来JAVA也计划使用泛型,接口也就形成了体系化。
,主要通过抽象概念和抽象名称来替代接口定义。
而在C#领域里,使用I打头进行替换。
JAVA这个属于历史原因。
ArrayList实现了(而不是继承了)List接口。
List<UserVo>list = newArrayList<UserVo>();这样的用法很多,表示下面我只需要list是一个List<UserVo>接口的对象就可以了,不在乎它的实现是什么,但是你要取得一个实例就得具体写newArrayList<UserVo>()。
源文档 <http://zhidao.baidu.com/question/470125811.html>
Map是键值对的形式,所以其泛型有两个参数,例如:Map<String,Object>
其中键和值都可以是任意类型
(2011-02-13 13:13:51)
转载▼
(转)
解决前的源代码:
public class test {
public static void main(String args[]) {//入口
try {
//假设在同一个包中建的一个javaBean: person
Class c = Class.forName("person");//警告出现在这里
try {
person factory = (person) c.newInstance();
factory.setName("asdf");
System.out.println(factory.getName());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
------------------------------
解决方法1:增加编译注解@SuppressWarnings("unchecked")
public class test {
@SuppressWarnings("unchecked")//增加在这里
public static void main(String args[]) {
try {
源文档 <http://zhidao.baidu.com/question/363328807.html>
List<String> list = new ArrayList<String>();
前提是你的list里面都是String类型的
1. 用generic
2. 在方法或类上加@SuppressWarnings("unchecked")
,主要通过抽象概念和抽象名称来替代接口定义。
而在C#领域里,使用I打头进行替换。
JAVA这个属于历史原因。
ArrayList实现了(而不是继承了)List接口。
List<UserVo>list = newArrayList<UserVo>();这样的用法很多,表示下面我只需要list是一个List<UserVo>接口的对象就可以了,不在乎它的实现是什么,但是你要取得一个实例就得具体写newArrayList<UserVo>()。
源文档 <http://zhidao.baidu.com/question/470125811.html>
Map是键值对的形式,所以其泛型有两个参数,例如:Map<String,Object>
其中键和值都可以是任意类型
告:Class is a raw type. References to generic type Class<T> should be paramet
(2011-02-13 13:13:51)转载▼
标签:
| 分类: Java |
解决前的源代码:
public class test {
public static void main(String args[]) {//入口
try {
//假设在同一个包中建的一个javaBean: person
Class c = Class.forName("person");//警告出现在这里
try {
person factory = (person) c.newInstance();
factory.setName("asdf");
System.out.println(factory.getName());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
------------------------------
解决方法1:增加编译注解@SuppressWarnings("unchecked")
public class test {
@SuppressWarnings("unchecked")//增加在这里
public static void main(String args[]) {
try {
源文档 <http://zhidao.baidu.com/question/363328807.html>
List<String> list = new ArrayList<String>();
前提是你的list里面都是String类型的
1. 用generic
2. 在方法或类上加@SuppressWarnings("unchecked")
相关文章推荐
- 黑马程序员————java基础--------JDK1.5新特性之泛型、自动拆装箱、增强for、静态导入、可变参数
- 黑马程序员---java基础加强---jdk1.5新特性之泛型
- 黑马程序员——Java高新技术——JDK1.5版本的新特性泛型
- 基于本地redis、protostuff序列化对于数据层的优化及java中对于泛型的使用
- 黑马程序员 Java高新技术-jdk1.5深入反射和泛型
- java再复习——泛型的通配符与扩展
- Java高新技术 【9 】 JDK1.5 泛型
- 【Java】JDK1.5以后新型的泛型参数传递方法Object...args
- 黑马程序员________Java集合Map及其JDK1.5新特性泛型机制的学习笔记
- java再复习——使用JDK1.5新特性优化生产者消费者
- Java 基础加强 - JDK1.5 新特性 - 泛型
- Java基础18--泛型--工具类--JDK1.5新特性
- Java高新技术 【9 】 JDK1.5 泛型
- java 快速排序 优化 以及扩展到对象 List 集合
- java针对泛型创建对象的中存在擦除的弥补方案
- java 单例模式的优化与扩展
- Java——jdk1.5生产者消费者问题优化
- 黑马程序员-java基础加强-JDK1.5新特性-泛型
- 黑马程序员---Java基础加强---JDK1.5新特性:泛型
- Java安全机制之泛型(JDK1.5)