黑马程序员技术交流社区

标题: 在方法上定义泛型的问题 [打印本页]

作者: 张业婷    时间: 2014-10-5 18:35
标题: 在方法上定义泛型的问题
在方法上定义泛型返回的类型有两个该怎么定义,怎么返回啊?像这样的
public <k,v> print(){
}
我写的是错的,大概就这个意思,谁能帮我写个正常的!

作者: hollywood2014    时间: 2014-10-5 20:27
楼主,就我所知,返回值只能是一个吧
如果你返回值的类型是可能是不同的,但也只需要一个泛型啊
请看下面的代码,也许有用
class getSmaller{
        public static <T> T min(T[] a)
        {
                if(a==null||a.length==0) return null;
                T smallest=a[0];
                for(int i=1;i<a.length;i++)
                {
                        //具体代码
                }
                return smallest;
                       
        }
}


作者: 于冬辉    时间: 2014-10-5 20:49
就是啊返回值只能有一个啊,怎么弄俩个呢???
作者: hacker◊紫猫    时间: 2014-10-5 20:57
不知道啊
作者: hacker◊紫猫    时间: 2014-10-5 21:10
不知道啊对方是否打算
作者: 唐王潮    时间: 2014-10-5 21:39
这个是你主观构造的代码还是老师写的代码?
作者: 张业婷    时间: 2014-10-6 08:52
hollywood2014 发表于 2014-10-5 20:27
楼主,就我所知,返回值只能是一个吧
如果你返回值的类型是可能是不同的,但也只需要一个泛型啊
请看下面的 ...

一个的我也会写,我看的高新技术,泛型中张孝祥老师提的一句!带两个泛型的返回值有的!
是这么写的,但是,我照他的例子写了也是错的,不知道怎么改
他是这么写的
public static <K,V> V getValue(K key){

}
作者: 张业婷    时间: 2014-10-6 08:54
hollywood2014 发表于 2014-10-5 20:27
楼主,就我所知,返回值只能是一个吧
如果你返回值的类型是可能是不同的,但也只需要一个泛型啊
请看下面的 ...

一个的,我也会写,我看的高新技术,泛型中张孝祥老师提的一句!带两个泛型的返回值有的!
是这么写的,但是,我照他的例子写了也是错的,不知道怎么改
他是这么写的
public static <K,V> V getValue(K key){
     return map.get(key);
}
作者: hollywood2014    时间: 2014-10-6 16:32
张业婷 发表于 2014-10-6 08:52
一个的我也会写,我看的高新技术,泛型中张孝祥老师提的一句!带两个泛型的返回值有的!
是这么写的,但 ...

那就是我孤陋寡闻了,我还没看高新技术。
但是返回值绝对只能有一个,你可以在方法这种声明多个泛型,像你这个函数,有K和V,那么V是返回值泛型
我只知道这么多了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2