se são apenas 6 valores, a estrutura é tão pequena que qualquer abordagem será satisfatória e semelhante em tempo de execução... O mais simples talvez seja usar o método "indexOf" da classe String:
 
static final String VALORES_VALIDOS = "ABCDEF";
 
private boolean valido(char valor)
{
    if(VALORES_VALIDOS.indexOf(valor)>-1)
    {
        return true;
    }
    return false;
}
 
 
na prática, isso fará o mesmo serviço de percorrer um array e comparar todos os elementos tentando encontrar um padrão igual.
 
outra alternativa de comparar caracteres é pelo seu valor decimal:
 
private boolean valido(char valor)
{
    // 65 = 'A' e 70 = 'F'
    if(valor<65 || valor >70)
    {
        return false;
    }
    return true;
}
 
 
 -----Mensagem original-----
De: buscandoconhecimento [mailto:[EMAIL PROTECTED]]
Enviada em: sexta-feira, 19 de julho de 2002 08:37
Para: java-list
Assunto: Fw: [java-list] Testar valor

    Dê uma olhadinha na classe java.util.Vector. Ela possui um método contains q retorna true se o elemento em questão estiver contido no vetor ou false caso contrário.
    Lembrando q esta classe trabalha com valores no formato Object, sendo necessário vc fazer algun cast para String/Char de acordo com seu uso.
    Espero ter ajudado.

*********************
Um abraço...
"Eduquem as crianças e não
será preciso castigar os  homens"
 (Pitágoras)
   
----- Original Message -----
Sent: Thursday, June 20, 2002 5:01 PM
Subject: [java-list] Testar valor

Olá Amigos,
 
        Tenho uma variável que pode receber apenas 6 valores específico, existe alguma maneria de verificas se o valor atribuido é válido sem utilizar IFs ou SWITCHs ?
        Gostaria de fazer algo assim:
 
        private char VALORES[] = {'A','B','C','D','E','F'};
       preivate char tipo;
       
        public void getTipo( char var){
            if( var in VALORES)
                tipo = var;
        }
 
 
Gideoni Hudson  ": ' )
PrevCaixa
Tel.: 31 3226-8707

Responder a