return 'c'; //will throw error at compile instead of runtime
}
我正在读一些关于泛型是如何随意的,你应该只使用大写字母?这有点令人困惑。
慕森卡
浏览 434回答 2
2回答
慕姐8265434
泛型允许您根据您正在使用的任何类型自定义“ 通用 ”方法或类。例如,假设您有一个将两个数字相加的方法。为了使用类型本身,您可能必须创建此方法的多个版本。例如:public int Add(int a, int b)public double Add(double a, double b)public float Add(float a, float b)泛型允许您创建一个为调用它的类型自定义的方法。public T Add<T>(T a, T b)T 取代您使用的任何类型。
我能想到解释泛型的最简单的方法是好的复制粘贴方法:public <COPY> PASTE addTwoThings(PASTE a, PASTE b) { return a + b;}你指定一个类型(在<COPY>部分中)和java在整个代码块中使用这种类型,它将确保类型是兼容的。通过这种方式,你可以避免写:addTwoIntegersaddTwoStringsaddTwoMyObjects不要将此混淆为预处理器,但Java期望只提供一种类型。