パラメータが許可され、なぜ異なるジェネリック型でのオーバーロードされていませんか?

マーヴィン :

なぜJavaで使用可能なパラメータとして異なるジェネリック型でのオーバーロードされていませんか?

例えば、

private static String convertListToString(List<Character> list)

そして

private static String convertListToString(List<String> list) {

エラーが発生します。なぜ、任意の安全で人気の回避策は、Javaがこれを行うとがあるのでしょうか?

関連

-私は必要がありますが、異なる言語で正確に何をパラメータとして、異なる種類のジェネリックリストを取る方法をオーバーロード

ザックR:

@Themelisが述べたように、あなたは彼らが基本的に同じパラメータであるため、それを行うことはできません。しかし、あなたはそうのようなジェネリック医薬品を利用することによって、これを回避できます。

private static <T> String convertListToString(List<T> list) {
    // Your code here.
}

メソッド本体の内部に、あなたは可能性があり、ループを通って、ジェネリック医薬品のtoStringメソッドを呼び出します。

String s = "";

for (int i = 0; i < list.size(); i++) {
    s += list.get(i).toString();
}

return s;

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=334812&siteId=1