A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张业婷 中级黑马   /  2014-10-5 18:35  /  1219 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在方法上定义泛型返回的类型有两个该怎么定义,怎么返回啊?像这样的
public <k,v> print(){
}
我写的是错的,大概就这个意思,谁能帮我写个正常的!

8 个回复

倒序浏览
楼主,就我所知,返回值只能是一个吧
如果你返回值的类型是可能是不同的,但也只需要一个泛型啊
请看下面的代码,也许有用
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;
                       
        }
}

回复 使用道具 举报
就是啊返回值只能有一个啊,怎么弄俩个呢???
回复 使用道具 举报
不知道啊
回复 使用道具 举报
不知道啊对方是否打算
回复 使用道具 举报
这个是你主观构造的代码还是老师写的代码?
回复 使用道具 举报
hollywood2014 发表于 2014-10-5 20:27
楼主,就我所知,返回值只能是一个吧
如果你返回值的类型是可能是不同的,但也只需要一个泛型啊
请看下面的 ...

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

}
回复 使用道具 举报
hollywood2014 发表于 2014-10-5 20:27
楼主,就我所知,返回值只能是一个吧
如果你返回值的类型是可能是不同的,但也只需要一个泛型啊
请看下面的 ...

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

那就是我孤陋寡闻了,我还没看高新技术。
但是返回值绝对只能有一个,你可以在方法这种声明多个泛型,像你这个函数,有K和V,那么V是返回值泛型
我只知道这么多了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马