2016-08-25 2 views
-2

Я работаю над проектом JSF с NetBeans 8.1 ... Мой код здесь ...Как избавиться от ClassCastException?

Object j = u.navigate(3, u); 
User nextUser; 
nextUser = (User) j; 

Я часто получаю ошибку ClassCastException ... и он говорит, что объект J не может быть приведен к Entities .User. Решение состоит в том, чтобы перезагрузить netbeans, и это раздражает и огорчает перезапуск netbeans более 10 раз в день. Мой вопрос: есть ли более эффективная процедура или что-то еще
практичным?

ответ

0

Используйте проверку InstanceOf

Object j = u.navigate(3, u); 
User nextUser; 
if (j instanceof User) { 
    nextUser = (User) j; 
} 
+0

если еще ,, то, что будет с моим проектом – kola

+0

Мой ответ чистой Java природы. Если у вас есть объект, который не относится к типу «пользователь», нет способа передать его «пользователю». –

+0

Я уверен, что это объект пользователя, но метод navigate возвращает объект datatype, и он работает очень хорошо, и (несколько раз) он дает мне ClassCastException, почему он это делает? Я не знаю, и почему это работает? также я не знаю .. это то, что я на самом деле прошу – kola

1

Самуил предложил вам нужно иметь экземпляр проверки перед заливкой класса, так как «вы бросаете вниз по дереву» .Вы литья класс объектов класса пользователя. Класс объекта является родительским для всех классов.

Object j = u.navigate(3, u); 
User nextUser; 
if(j instanceof nextUser) { 
    nextUser = (User) j; 
} else { 
    //what you need to do if not 
} 

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

  • Нет связанных вопросов^_^