JAVA泛型方法作用,JFINAL源码

bBugyang 发布于 2014/04/17 08:20
阅读 517
收藏 0

    小的刚学java,接触过一些简单的泛型。。

    比如 public <T> T getT(T t) {return t;}  这个可以根据传入参数的值返回指定类型的值。

    但是在看jfinal源码的时候,有些费解。不知道什么意思

    public <T> T getAttr(String name) {
        return (T)request.getAttribute(name);
    }

    这是什么意思呢?这个T到底是什么类型,根据什么来获得呢?想不通。。。求解。

加载中
1
NCThinker
NCThinker

public <T> T getAttr(String name) {
        return (T)request.getAttribute(name);
    }

 这个T类型是根据实例化此方法所在的类的时候传人的类型决定的

bBugyang
bBugyang
no。。。。没有传入值
1
JFinal
JFinal

public <T> T getAttr(String name)  是指根据你的接收该方法的对象的类型来确定类型,如:

String value = getAttr(...) 那么 T 是指 String

Integer value = getAttr(...) 那么 T 是指 Integer

bBugyang
bBugyang
非常感谢,一点即破!NB.
0
typeorigin
typeorigin

这个时候你要查看类的泛型标记

bBugyang
bBugyang
谢谢,但是没有啊。
0
悟方向
悟方向

意思就是 存放返回值变量是什么类型都可以 当然了 如果实际的返回值类型和声明的变量类型不匹配还是会报错的  

bBugyang
bBugyang
谢谢,但是没有。
0
excepiton
excepiton

看类的声明

bBugyang
bBugyang
谢谢
0
aihuier
aihuier

是泛指,任何类型

返回顶部
顶部