В некоторых интерфейсах я записал, что хотел бы назвать универсальные параметры типа больше чем с одним символом для создания кода более читаемым.
Что-то как....
Map<Key,Value>
Вместо этого...
Map<K,V>
Но когда дело доходит до методов, параметры типа похожи на классы Java, который также сбивает с толку.
public void put(Key key, Value value)
Это кажется, что Ключ и Значение являются классами. Я нашел или думал о некоторых нотациях, но ничем как конвенция от Sun или общей лучшей практики.
Альтернативы я предположил или нашел...
Map<KEY,VALUE>
Map<TKey,TValue>
Oracle рекомендует следующее в Java Tutorials > Generics > Generic Types:
Type Parameter Naming Conventions
По соглашению, имена параметров типов - это одиночные заглавные буквы. Это резко контрастирует с соглашениями об именовании переменных имен, о которых вы уже знаете, и на то есть веские причины: Без этого соглашения было бы трудно отличить переменную типа от обычного имени класса или интерфейса.
Наиболее часто используемые имена параметров типа:
- E - Element (широко используется в Java Collections Framework)
- K - Key
- N - Number
- T - Type
- V - Value
- S,U,V и т.д. - 2-й, 3-й, 4-й типы
Вы увидите эти имена, используемые во всем API Java SE и в остальной части этого урока.
Я бы придерживался их, чтобы избежать путаницы среди разработчиков и возможных сопровождающих.