У меня есть класс Pair Generic Type, и следующий способ вычитания дает мне ошибку как the operator - is not defined for T,T
. Я искал и обнаружил, что link. Интересно, что это единственный способ перегрузки оператора на Java. Я думаю, что это не так просто. Я пришел с фона C++. ThanksВычитание общего типа в Java
public class Pair<T>{
private T first;
private T second;
public T firstpairSub(Pair<T> s) {
return this.first - s.first;
}
}
Если вы действительно хотите сделать это, вы могли бы использовать Scala, который, в конце концов, компилируется в Java – Mirco
Кроме того перегрузкой операторов не представляется возможным в Java , так как вы даже не делаете никаких предположений о 'T', это просто неправильно, потому что любой может расширить ваш класс с помощью типа' Object', 'String' или' List'. – Smutje
Генераторы Java не работают так же, как шаблоны C++. Генерики не являются шаблоном, из которого генерируются разные реализации, например, на C++. Вам нужно будет рассказать о дженериках, как если бы они были шаблонами. – Jesper