Объясните общие методыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Объясните общие методы

Сообщение Anonymous »

Я не могу понять об общих методах. На странице документации https://docs.oracle.com/javase/tutorial ... thods.html Существует пример:

Код: Выделить всё

public class Util {
public static  boolean compare(Pair p1, Pair p2) {
return p1.getKey().equals(p2.getKey()) &&
p1.getValue().equals(p2.getValue());
}
}

public class Pair {

private K key;
private V value;

public Pair(K key, V value) {
this.key = key;
this.value = value;
}

public void setKey(K key) { this.key = key; }
public void setValue(V value) { this.value = value; }
public K getKey()   { return key; }
public V getValue() { return value; }
}
Насколько я могу понять, и то, что подсказывает, что IntelliJ дает мне использовать общие типы в методе util.compare Следует либо объявить общие типы в определении метода:

Код: Выделить всё

public class Util {
public static  boolean compare(Pair p1, Pair p2) {
return p1.getKey().equals(p2.getKey()) &&
p1.getValue().equals(p2.getValue());
}
}
И, таким образом, мы говорим Java, что мы собираемся использовать типы Generics K и v (которые были неизвестны раньше).
или мы определяем общие типы в определении класса: < /p>

Код: Выделить всё

class Util {
public boolean compare(Pair p1, Pair p2) {
return p1.getKey().equals(p2.getKey()) &&
p1.getValue().equals(p2.getValue());
}
}
Я прав?

Подробнее здесь: https://stackoverflow.com/questions/794 ... ic-methods
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»