- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章多个java泛型示例分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1.泛型类 。
1.1普通泛型 。
。
。
输出结果:
。
。
1.2 K/V泛型 。
。
package test.lujianing; import java.util.HashMap; import java.util.Map,
。
/** * Created by Administrator on 14-3-30. */ class TestKV<K,V>{ private Map<K,V> map=new HashMap<K, V>(); public void put(K k, V v) { map.put(k,v); } public V get(K k) { return map.get(k); } } public class TestFour{ public static void main(String[] args) { TestKV<String,String> t = new TestKV<String, String>(); t.put("name","jianing"); System.out.println(t.get("name")),
TestKV<String,Integer> t2 = new TestKV<String, Integer>(); t2.put("age",24); System.out.println(t2.get("age")); } } 。
。
输出结果:
。
。
2.泛型接口 。
。
。
输出结果:
。
。
3.泛型方法 。
。
package test.lujianing,
。
/** * 泛型方法类 */ class TestMethod{ /** * 泛型方法 */ public <T>T getValue(Object s,Class<T> clazz) { System.out.println(clazz.getName()); T t =null; if(clazz.getName().equals("java.lang.Integer")){ Double d = Double.parseDouble(s.toString()); int i =d.intValue(); t=(T)new Integer(i); } if(clazz.getName().equals("java.lang.Double")){ t=(T)new Double(s.toString()); } return t; } } 。
/** * 泛型方法测试类 */ public class TestThree { public static void main(String[] args) { TestMethod t = new TestMethod(); int i =t.getValue("30.0011",Integer.class); System.out.println(i); double d =t.getValue("40.0022",Double.class); System.out.println(d); } } 。
。
输出结果:
。
。
4.限制泛型 。
在上面的例子中,没有限制class Test<T>类型持有者T的范围,默认限定类型相当于Object。比如我们要限制T为数字接口类型。只需要这么做:class Test<T extends Number>,这样类中的泛型T只能是Number接口的实现类,传入非Number接口编译会出错.
5.通配泛型 。
。
package test.lujianing; import java.util.HashMap; import java.util.Map; /** * 通配泛型 */ public class TestFive { public static void main(String[] args) { Map<String,Class<? extends Number>> map = new HashMap<String,Class<? extends Number>>(); map.put("Integer",Integer.class); map.put("Double",Double.class),
。
for (Map.Entry<String,Class<? extends Number>> entry : map.entrySet()) { System.out.println("key:" + entry.getKey() + " value:" + entry.getValue()); } } } 。
。
输出结果:
。
。
简单的例子:针对1.1的例子 。
。
。
输出结果:
。
。
6.补充 。
在泛型中,可能会遇到<T><E>等,T和E分别是Type和Element的首字母。E一般用来表示集合类型中的元素的类型,例如List接口的定义,public interface List<E> extends Collection<E>。这只是一种命名习惯,两者没有本质区别.
最后此篇关于多个java泛型示例分享的文章就讲到这里了,如果你想了解更多关于多个java泛型示例分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!