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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夜默 金牌黑马   /  2013-7-8 15:55  /  1088 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 巩建 于 2013-7-8 16:22 编辑

  calss A implements Compartor<String> 传进的去参数 均为String类型
{
     public int  compare(String s1,String s2){ // 既然穿进去的都是String类型的  为什么还需要让此方法中的参数再次指定是String类型的


    }
}

6 个回复

倒序浏览
泛型限定是String了 你只能传String 不是么
回复 使用道具 举报
我是想说 加了泛型之后,泛型类里面的方法是否可以省略参数类型
回复 使用道具 举报
尹桥印 发表于 2013-7-8 16:14
java方法的参数格式就是:类型 变量名  这个从java一出来就是这么设置的
泛型是jdk1.5出来的,你总不可能前 ...

看来开发java的重任,就要托付在我们手中了
回复 使用道具 举报
本帖最后由 toShareBeauty 于 2013-7-9 09:06 编辑
巩建 发表于 2013-7-8 16:16
我是想说 加了泛型之后,泛型类里面的方法是否可以省略参数类型

如果省略,那么方法定义的格式不是就和以前的不同了么,书写上倒是简单了,但是这样岂不是更加麻烦,因为还要多记一种相似东西,而且标记一个方法最重要的依据就是方法名和参数列表中的参数类型(c++ 编译器直接就是用 方法名_参数1类型_参数2类型_... 来标志函数,编译后函数只是一个代码块,方法名_参数1类型_参数2类型_... 是代码块的标号,编译器还会在此处加上栈处理相关的指令集,来处理局部变量和参数的传递),按照你的想法,不用泛型时,类实现的接口的方法的时候,方法参数列表中的类型都可以省略了。c 语言中,方法在声明的时候,方法中的参数名可以省略(c、c++中的函数有声明和定义之分)。如果接口在定义的时候方法中的参数名我看可以省略,但是降低了程序的可读性,所以终归不是好的策略。

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马