2015-02-08 6 views
0

У меня вопрос, как преобразовать объект в строку, в исходный код здесь вы можете видеть, что вы можете вводить объект Object в качестве объекта, однако я бы хотел, чтобы элемент был преобразуется в строку, поэтому я могу сопоставить ее с строковой переменной. Кто-нибудь знает, как это сделать?Преобразование объекта в строку (java)

Спасибо


public QueueNode AddItem (Object item, int priority) 
{ 


    PQNode newNode = new PQNode (item, priority); 
    if (root != null) { 

     spreadingOutToInsert (newNode); 

     // if newNode equals or is greater than the root then put the old root as the rightChild of the newnode 

     if (newNode.compare (root) < 0) 

     { 
      newNode.leftNode = root.leftNode; 

      newNode.right = root; 

      root.leftNode  = null; 

      // if newNode equals or is greater than the root then just put the old root as the leftChild of the newnode 
     } else 
     { 
      newNode.leftNode = root; 

      newNode.right = root.right; 

      root.right = null; 
     }; 

    }; 

    size++; 
    return root = newNode; // this is to make the newNode into the new root 

}; 
+1

Не можете ли вы просто написать метод? Либо вручную, либо [переопределить toString()] (https://stackoverflow.com/questions/10734106/how-to-override-tostring-properly-in-java). – Klaster

ответ

2

Вы используете (String)item если вы хотите явно привести тип, но будьте осторожны. В идеале вы должны переопределить toString() для класса и позвонить, чтобы вместо этого вернуть String.

+0

Скажите что? '(String) item' не _convert_ ничего. Все, что он делает, это сказать компилятору: «Поверьте мне, я знаю, что переменная' item' содержит ссылку на 'String'." Но что, если он не держит ссылку на String? Вы получаете ошибку времени выполнения, которая, вероятно, не то, что вы хотели. –

0

Если вы хотите сравнить выход ToString по умолчанию() реализация унаследованный от объекта, он будет выглядеть примерно так: Ex @ 7852e922

Вы всегда можете реализовать метод ToString(), чтобы изменить поведение по умолчанию , Кроме того, вместо пункта (String) вы можете вызвать item.toString(). Прочтите методы toString() и hashcode() в: http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

Как уже указывалось ранее, представление имени класса hashcode может быть достаточно, чтобы выполнить то, что вам нужно.

Смежные вопросы