Я пытаюсь преобразовать тип объекта в Лонг-типа в Java, и я получил как:Cast объекта Чтобы Лонга в Java
public static Long castObjectToLong(Object object) {
return ((Long)object).longValue();
Когда я бегу, он бросает ClassCastException
Я пытаюсь преобразовать тип объекта в Лонг-типа в Java, и я получил как:Cast объекта Чтобы Лонга в Java
public static Long castObjectToLong(Object object) {
return ((Long)object).longValue();
Когда я бегу, он бросает ClassCastException
когда вы пишете return ((Long)object).longValue();
вызывает ClassCastException, потому что объект не Long.That Я имею в виду, если объект о = новый Long(), то вы можете сделать литой (объект (Long)) .Это пример я написал это так же, как:
public class Test {
public static void main(String args[]){
System.out.println(convertToLong(10));
}
public static Long convertToLong(Object o){
String stringToConvert = String.valueOf(o);
Long convertedLong = Long.parseLong(stringToConvert);
return convertedLong;
}
}
IC onvert Object to String first.Then String to Long. Пожалуйста, посмотрите, как этот код подходит для вас или нет.
вы можете попробовать, как это:
public class HelloWorld{
public static Long castObjectToLong(Object object) {
return Long.parseLong(object.toString());
}
public static void main(String []args){
System.out.println("Hello World");
Object object=1234;
System.out.println(castObjectToLong(object));
}
}
Следующий код может помочь:
public class CastObjectToLong {
public Long castLongObject(Object object) {
Long result = 0l;
try {
if (object instanceof Long)
result = ((Long) object).longValue();
else if (object instanceof Integer) {
result = ((Integer) object).longValue();
} else if (object instanceof String) {
result = Long.valueOf((String) object);
}
System.out.println(result);
} catch (Exception e) {
System.out.println("============= cannot cast");
// do something
}
return result;
}
public static void main(String... args) {
CastObjectToLong castObjectToLong = new CastObjectToLong();
Object object1 = 12; // Integer
Object object2 = "12"; // String
Object object3 = 12l; // String
Object object4 = "abc"; // String
castObjectToLong.castLongObject(object1);
castObjectToLong.castLongObject(object2);
castObjectToLong.castLongObject(object3);
castObjectToLong.castLongObject(object4); // exception here
}
}
Выходы:
============= не может бросить
Что вы ожидаете от литья '' Object' к Long'? –
Как насчет 'public static long castObjectToLong (...' – Fildor
Возвращаемый тип отсутствует в вашем методе! – Unknown