У меня есть класс IntPair, который использует два метода: «getFirst()» и «getSecond()». Хотя в этом методе я сейчас работаю, я хочу проверить, содержит ли «hashMap j» определенное значение, а затем выполняет действия. Я думаю, что у меня есть проблемы в этих линиях:Проверить значения HashMap <Object, String>
Object obj = j.values();
t.moveCursor(((IntPair)obj).getFirst(), ((IntPair)obj).getSecond());
Я не знаю, если я литье нормально к объекту, или, если первая строка «объект OBJ = j.values ()» следует заменить с другим вызовом метода. Я тестировал с помощью System.out.print («Сообщение») после j.containsValue («0»), и я получил сообщение назад.
Это часть метода, который я пытаюсь заставить его работать.
public static HashMap<IntPair, String> j = new HashMap<>();
j.put(new IntPair(firstInt, secondInt), value);
if (j.containsValue("0"))
{
Object obj = j.values();
t.moveCursor(((IntPair)obj).getFirst(), ((IntPair)obj).getSecond());
t.putCharacter('x');
}
else if (j.containsValue("1"))
{
Object obj = j.values();
t.moveCursor(((IntPair)obj).getFirst(), ((IntPair)obj).getSecond());
t.putCharacter('v');
}
IntPair Класс:
public class IntPair {
private final int first;
private final int second;
public IntPair(int first, int second) {
this.first = first;
this.second = second;
}
@Override
public int hashCode() {
int hash = 3;
hash = 89 * hash + this.first;
hash = 89 * hash + this.second;
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final IntPair other = (IntPair) obj;
if (this.first != other.first) {
return false;
}
if (this.second != other.second) {
return false;
}
return true;
}
public int getFirst() {
return first;
}
public int getSecond() {
return second;
}
}
Любая помощь будет очень ценна. Спасибо!
1) Я не вижу полный метод, где вы заявляете, '" это метод ... "'. 2) Я предполагаю (и, конечно, надеюсь), что ваш класс IntPair переопределяет равные и hashCode() соответственно, правильно? 3) Я не уверен, что именно вы спрашиваете или что вы застряли. Вы упомянули вопрос о кастинге - ваша попытка бросить, вызывая ошибку или исключение? –