泛型

泛型类

// 简单泛型
class Point<T>{         // 此处可以随便写标识符号,T是type的简称  
    private T var ;     
    public T getVar(){  
        return var ;  
    }  
    public void setVar(T var){  
        this.var = var ;  
    }  
} 
// 多元泛型
class Notepad<K,V>{     
    private K key ;     
    private V value ;   
    public K getKey(){  
        return this.key ;  
    }  
    public V getValue(){  
        return this.value ;  
    }  
    public void setKey(K key){  
        this.key = key ;  
    }  
    public void setValue(V value){  
        this.value = value ;  
    }  
} 
public class GenericsDemo09{  
    public static void main(String args[]){  
        Notepad<String,Integer> t = new Notepad<String,Integer>() ;  
        t.setKey("汤姆") ;   
        t.setValue(20) ;      
        System.out.print("姓名;" + t.getKey()) ;     
        System.out.print(",年龄;" + t.getValue()) ;      
    }  
}

泛型接口

// 泛型接口,带一个抽象方法
interface Info<T>{       
    public T getVar() ;
}  
// 泛型接口实现类
class InfoImpl<T> implements Info<T>{ 
    private T var ;        
    public InfoImpl(T var){    
        this.setVar(var) ;    
    }  
    public void setVar(T var){  
        this.var = var ;  
    }  
    public T getVar(){  
        return this.var ;  
    }  
} 
public class GenericsDemo24{  
    public static void main(String arsg[]){  
        Info<String> i = new InfoImpl<String>("汤姆") ; 
        System.out.println("内容:" + i.getVar()) ;  
    }  
}  

泛型方法

    // 参数类型是 Number 子类
    private static  <T extends Number> double add(T a, T b) {
        return a.doubleValue() + b.doubleValue();
    }

    // 带泛型的字节码对象作为参数
    private static <T> T test(String s, Class<T> t) {
        return JSONObject.parseObject(string, t);
    }

    public static void main(String[] args) {
        add(1, 2);
        User user = test("{\"name\":\"Marry\",\"age\":18}", User.class);
    }

泛型上下限

// 指定上限:只能是 Number 或其子类
static class Info<T extends Number>{    
}

// 指定下限(只能用在方法上):必须是 Integer 或其父类
public static void test(Info<? super Integer> info){
}
posted @   CyrusHuang  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示