Sou um novato em Java. Estou tentando descobrir se um número é um duplo com algo assim:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
Agradeceria se alguém pudesse me dizer como reorganizar a sintaxe para fazer isso funcionar corretamente.
object o = new object(); Type t = typeof(o);
lança um erro do compilador dizendoo is a variable but is used like a type
. O nome desta pergunta é equivocado ...Object#GetType()
método, que retorna aType
. Isso pode então ser usado para comparartypeof()
. Nesse caso, seriaitems.elementAt(1).GetType() == typeof(double)
.Respostas:
Experimente isto:
fonte
elementAt(0)
; a maioria das coisas em Java é baseada em zero.Visto que esta é a primeira pergunta do Google, adicionarei a
typeof
alternativa de estilo JavaScript aqui também:fonte
A reflexão é mais lenta, mas funciona para uma situação em que você deseja saber se é do tipo Cão ou Gato e não uma instância de Animal. Então você faria algo como:
Não dizer que a resposta acima não funciona, exceto que a parte de verificação nula é necessária.
Outra maneira de responder a isso é usar genéricos e você terá a garantia de ter Double como qualquer elemento dos itens.
fonte
.getClass().toString()
porque não consigo importar a classe devido à inejction de dependência unilateral. THX.Use a expressão regular para realizar esta tarefa. Por favor, consulte o código abaixo.
fonte