很难说出这里要问什么。这个问题模棱两可,含糊不清,不完整,过于宽泛,或者是修辞性的,不能以现在的形式得到合理的回答。有关澄清此问题以便重新打开的帮助,请访问帮助中心。
9年前关门了。
我真的不明白泛型的意义。它们做什么,你怎么用它们?
据我所知,它们所做的只是在编译时而不是运行时检查返回类型,以避免在抛出错误之前运行程序。他们就这么干吗?
例如:
public <Integer> int test() {
return 'c'; //will throw error at compile instead of runtime
}
我读到一些关于泛型是如何任意的,你应该只使用大写字母?这有点让人困惑。
3条答案
按热度按时间gwbalxhn1#
我能想到的解释泛型的最简单的方法是好的ol'copy-paste隐喻:
指定类型(在
<COPY>
部分)和java在整个代码块中使用这个类型,它将确保这些类型是兼容的。这样做,你就不用写:添加两个整数
添加两个字符串
添加两个myobjects
别把它和预处理器混淆了,java只希望给定一个类型。
qvtsj1bj2#
请参阅angelika langer的faq中的基础知识—这是您可能找到的与java泛型相关的所有内容的最佳解释。也就是说,泛型最初的主要目标是启用“类型化”集合。
a7qyws3x3#
泛型允许您将“泛型”方法或类自定义为您正在使用的任何类型。例如,假设您有一个将两个数字相加的方法。为了使用类型本身,您可能必须创建此方法的多个版本。例如:
泛型允许您创建一个为调用它的类型定制的方法。