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);
}
}
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
8.8 this和super
下面再来介绍一下this和super关键字的使用。在程序中通过使用this和super关键字,可以实现对于类内部很多内容方便的引用,也有助于理解面向对象的实现原理,更方便的理解面向对象技术的内部实现。
8.8.1 this关键字
&n ......
最近搞一个项目需要操作Excel,google了一下,发现有两个第三方开源类库,分别是Jexcel和Poi。粗略地看了一下,jexcel内容不庞大,觉着我只是用一些基本的excel读写功能,它应该能满足要求。下面简要的介绍一下这两个类库。
jexcel:在用jexcel的过程中发现读的速 ......
String fm = "46+5*(120-37)";
String[] item = fm.split("[+-/*/()]");
for(String it: item){
System.out.print(it+" ");
}
正则表达式中 转义: * ==> /* ......
如果服务器如果没有采用反向代理,而且客户端没有用正向代理的话,
那么可以获取客户端的真实IP地址request.getRemoteAddr()
如果服务器如果没有采用反向代理,而且客户端有用正向代理的话,
&nbs ......