Ответ 1
Нет, нет никакого значения.
Существуют соглашения (см. Учебник Java Generics):
E - Element (used extensively by the Java Collections Framework)
K - Key
N - Number
T - Type
V - Value
S, U, V etc. - 2nd, 3rd, 4th types
Если у меня был общий класс Java...
public class EntityStuff<C> extends AbstractPropertyStuff<C> implements Serializable {
}
Это то же самое, что...
public class EntityStuff<T> extends AbstractPropertyStuff<T> implements Serializable {
}
имеет ли значение какое-либо значение?
Нет, нет никакого значения.
Существуют соглашения (см. Учебник Java Generics):
E - Element (used extensively by the Java Collections Framework)
K - Key
N - Number
T - Type
V - Value
S, U, V etc. - 2nd, 3rd, 4th types
Точно так же письмо не имеет никакого значения. Фактически, параметр типа может быть любым допустимым идентификатором Java, поэтому:
EntityStuff<T>
EntityStuff<t>
EntityStuff<TTT>
EntityStuff<ttt>
EntityStuff<_t23>
являются законными.
C
и T
являются просто именами переменных. Они не должны быть ключевыми словами Java, но в противном случае они не имеют никакого специального значения для компилятора.
T
или C
- это всего лишь идентификатор параметра типа, и поэтому эти утверждения одинаковы.
Вы можете использовать другие, более значимые идентификаторы, такие как TResult
или TModelType
, чтобы сделать его более выразительным, и я бы рекомендовал вам это сделать, особенно если у вас есть несколько параметров типа.
Нет, буква - это просто имя параметра типа. Неважно, какое письмо вы используете. Фактически, это не должно быть просто одной буквой, вы можете использовать более длинное имя, если хотите; использование одной буквы для параметров типа - это просто соглашение.
Нет - имя параметра типа не имеет значения
То же самое. Буква может быть словом, но вы найдете, используя T для типа и K для ключа, а значение V для значения (и т.д.) Упрощает чтение.