2013-11-27 4 views
0

У меня проблема с преобразованием целого в строку. Это мой код:Не удается отличить от int до MyClass

MyClass getRow; 
getRow = (MyClass) getListAdapter().getCount(); 

Я нашел ошибку на этой линии: Cannot cast from int to MyClass

Это мой MyClass ListView адаптер:

public String toString() { 
    return myclass; 
} 

решаемые

Я нашел путем добавления нескольких трюков для преобразования целого в строку, например:

int i ; 
i = getListAdapter().getCount(); 
String str = String.valueOf(i); 
TextView totalRow = (TextView) findViewById(R.id.totalRow); 
totalRow.setText(str); 

спасибо за все ваши ответы, удивительный Stackoverflow!

+3

GetRow является объектом класса. getCount возвращает целое число. Вы вводите INT в объект класса. На простом языке вы пытаетесь заставить собаку быть кошкой. Думай сам. Является ли это возможным ? –

+0

@RahulGupta хорошо, спасибо, ребята! Я тоже так подумал :) – Mkhuda

ответ

1

int является примитивным, а не классом, поэтому компилятор прав. Почему вы ожидаете, что int волшебным образом превратится в MyClass? Что вы здесь делаете?

Если я понимаю вас правильно, вы должны каким-то образом оценить значение getRow() в своем классе (либо с помощью сеттера, либо с помощью конструктора, либо путем доступа к члену), а затем вы можете использовать MyClass. Конечно, если вы хотите, чтобы преобразовать int к строковому объекту, вы должны преобразовать его:

String s = String.valueof(integervalue); 
1

Вы не можете наложить int на номер Object. В первой строке вы упомянули, что вы точно это делаете. getCount() возвращает int, и вы пытаетесь отдать его (MyClass).

Вы никогда не применяли примитивы к объектам в java.

1

Нет, вы не можете бросить это. Однако вы можете добиться аналогичного эффекта, если вы создадите конструктор для MyClass, который принимает целое число как ввод. Так что-то вроде:

public MyClass(int x) { 
    // do stuff to convert as you see fit here 
} 

затем при его использовании, вы делаете:

getRow = new MyClass(getListAdapter().getCount()); 
Смежные вопросы