Bom dia,
Tendo eu,
private static String Payment_Installment(Properties ctx, int WindowNo, MTab mTab, MField mField, Object value) {
//Como posso fazer para converter o <Object value> em um inteiro?
}
Bom dia,
Tendo eu,
private static String Payment_Installment(Properties ctx, int WindowNo, MTab mTab, MField mField, Object value) {
//Como posso fazer para converter o <Object value> em um inteiro?
}
ex:
Object obj = new Integer(5);
Integer x = (Integer) obj;
//ou
int xx = ((Integer) obj).intValue();
Object o = new Object();
Integer i = ( Integer ) o;
Mas vai ganhar uma bela ClassCastException se o Objeto não for um inteiro.
Sou recente no JAVA, mas, desde já não gostei da prática de “Type Cast” (Nem sei se realmente é esse o nome), porém resolvi desta forma:
private static String Payment_Installment(Properties ctx, int WindowNo, MTab mTab, MField mField, Object value) {
Integer intA = new Integer(value.toString()).intValue());
}
Gostaria de saber se essa pode ser uma boa prática.
Por favor me respondam.
Obrigado!
Perdão, a forma correta é :
Integer intA = new Integer(value.toString());
Não!
As sugestões anteriores são mais adequadas.
E o que vc não gostou no Casting?
Desta forma (Integer intA = (Integer) value;) dá a entender que o cara diz o seguinte "Se vire!, quero que esse cara seja um inteiro) jogando assim toda a responsabilidade para o tal do “Casting”.
Mas tudo bem!, a forma que usei tb. funciona não é?
Então irei optar por ela.
Obrigado a todos!
Se a sua variável “value” guardar a referência para um Integer, funciona numa boa, senão, você receberá uma exceção do tipo ClassCastException.
Sua sugestão funciona, pero no mucho.
Se “value” for String e contiver uma cadeia, por exemplo “123”, funciona sim. Se for um outro tipo, pode dar pau.
Bem, se o objeto não é um integer como esperado, creio que isso seria uma exceção da aplicação. Olha só! Uma palavra chave do Java!
Tratamento de exceção quer dizer exatamente isso, não o rebaixe a um mero tratamento de erro
try
{
// cast
}
catch( ClassCastException cce )
{
// o meu deus, não é um inteiro, o que fazer então?
}
OK!, vc´s venceram e convenceram, irei usar este tal de “CASTING”.
Entendi!
Valeu!
T+