有没有返回值和是不是泛型没有关系,如果该类或方法有返回值,那么把它写成泛型也有返回值。返回值只取决于类或方法本身。而泛型只是为了限定其类型,这样就可以在编译期防止将错误类型的对象放置到容器中。
例如:定义一个容器ArrayList,存放class Apple{}和class Orange{},用add()方法可以将Apple和Orange都放进这个容器,无论在编辑还是在运行都不会产生错误。但是当你在使用ArrayList的get()方法来取出你认为是Apple的对象时,你得到的知识Object的引用,必须将其强转成Apple,否则你就会得到语法的错误。在运行时,当你试图将Orange对象转为Apple时,你就会以前面提到的异常的形式得到一个错误。为了防止错误类型,所以可以定义泛型ArryList<Apple>。
好好理解下泛型。。
|