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的语法,又 ......
String fm = "46+5*(120-37)";
String[] item = fm.split("[+-/*/()]");
for(String it: item){
System.out.print(it+" ");
}
正则表达式中 转义: * ==> /* ......
转:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
2007 年 7 月 05 日
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的&nb ......
如果服务器如果没有采用反向代理,而且客户端没有用正向代理的话,
那么可以获取客户端的真实IP地址request.getRemoteAddr()
如果服务器如果没有采用反向代理,而且客户端有用正向代理的话,
&nbs ......