2013-07-10 3 views
0

Я пытаюсь преобразовать объект из объекта в целое число в java. Таковы результаты, которые я получаю со следующими методами:Преобразование объекта в Integer равно null

Object intObject = 50; 
intObject: 50 
intObject.toString(): 50 
Integer.getInteger(intObject.toString()): null 

Я понятия не имею, почему я хотел бы получить нуль при преобразовании строки объекта в целое число.

Вот код, который я использую:

final Object temp = mCloudEntity.get(SaveAndLoadManager.TAG_TEST_INT); 
    Log.i(TAG, "intObject: " + temp); 
    Log.i(TAG, "intObject.toString(): " + temp.toString()); 
    Log.i(TAG, "Integer.getInteger(intObject.toString()): " + Integer.getInteger(temp.toString())); 
+2

Пожалуйста, покажите некоторый реальный код Java, включая ваше System.out. Println годов. Сортировка кода просто путает нас. –

+1

Пожалуйста, покажите фактический код, который вы используете отдельно от результата, который он производит. –

+0

Почему вы не бросаете свой объект прямо в int? Integer a = (целочисленный) intObject; –

ответ

2

Вы должны использовать

// Parses the string argument as a signed decimal integer 
Integer.parseInt(intObject.toString()); 

вместо

// Determines the integer value of the system property with the specified name. 
// (Hint: Not what you want) 
Integer.getInteger(...) 
+3

Это могло бы помочь опубликовать * why *, чтобы использовать этот метод вместо этого. –

+0

Спасибо @LuiggiMendoza, я обновил некоторые фрагменты javadoc –

+2

Проверьте возможную дублируемую ссылку, чтобы отметить правильное объяснение по этому вопросу. См. [Что является приемлемым ответом?] (Http://meta.stackexchange.com/a/118694/182862) пунктов 5, 8, 9, 10 и 11. –

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