JAVA 泛型 受限泛型
package com.fanxing.neibulei;
/**
*
* @author xiaxiaorui
*
*泛型 受限泛型
*http://developer.51cto.com/art/200909/153983.htm
*/
class Info2<T>
{
private T var; // 定义泛型变量
public T getVar() {
return var;
}
public void setVar(T var) {
this.var = var;
}
public String toString(){ // 直接打印
return var.toString();
}
}
public class GenericsDemo17 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Info2<Integer> info1 = new Info2<Integer>(); // 声明Integer的泛型对象
Info2<Float> info2 = new Info2<Float>(); // 声明Float的泛型对象
Info2<String> info3 = new Info2<String>();
info1.setVar(30); // 设置整数,自动装箱
info2.setVar(30.1F); // 设置小数,自动装箱
info3.setVar("俺是字符串,不能被受限的FUN组装");
fun(info1);
fun(info2);
// fun(info3); //受限了,不能调用这个
}
/**
* 可以接收任意的泛型对象(// 只能接收Number及其Number的子类)
* @param temp
*/
public static void fun(Info2<? extends Number> temp){
// 只能接收String或Object类型的泛型
//public static void fun(Info2<? super String> temp){
System.out.println("内容:"+temp);
}
}
相关文档:
1 背景
在我们的项目中,有时候在需要运行时获取一段脚本并执行其逻辑以灵活地实现业务需求。有人的第一想法就是脚本语言,我们当然可以在程序中内嵌一个Python解释器,然后在需要灵活变动的地方使用Python脚本实现我们的逻辑。但是这样做太“重量级”了,况且身为一个Java程序员,你不一定懂得Python的语法,又 ......
开发了个flex和java的测试项目,因为flex文件比较多,所以创建flex时候,
在WebRoot下建立了文件夹bin,用来存储html和swf文件
想在浏览器输入http://localhost:8080/project直接可以访问文件夹下的html
第一,在WebRoot下建立index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
&l ......
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
可以将native方法比作Java程序同C程序的接口,其实现步骤:
1、在Java中声明native()方法,然后编译;
2、用javah产生一个.h ......
最近搞一个项目需要操作Excel,google了一下,发现有两个第三方开源类库,分别是Jexcel和Poi。粗略地看了一下,jexcel内容不庞大,觉着我只是用一些基本的excel读写功能,它应该能满足要求。下面简要的介绍一下这两个类库。
jexcel:在用jexcel的过程中发现读的速 ......
Abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意。其 ......