Ajuda com if e else?

Comecei a criar esse if e else para poder juntar alguns campos, segue o código:

String tipoteste = "";

if (CadTPETipoteste.getSelectedItem() == "Sim") {
    tipoteste = CadTPEEspecMIN1.getText() + " à " + CadTPEEspecMax1.getText() + " " 
                                                  + CadTPEUNID1.getText();
} 
else if (CadTPETipoteste.getSelectedItem() == "Não") 
{
   tipoteste = CadTPEEspecTexto1.getText();
}

pst.setString(18, tipoteste);

Vou explicar um pouco do código para ajudar na minha duvida. Esse código junta 3 campos com base em um combobox, se no combo box estiver sim, ele pega os valores de outros 3 campos e salva em apenas uma coluna.

Minha duvida:

Cheguei em 1 ponto em que tenho algumas especificação em que só tenho o valor “minimo” ou “máximo”… Então preciso criar mais um if que no caso se o campo max estiver vazio ele coloca Min. + valor do campo e se o minimo estiver vazio, e o campo Max tenha algum conteúdo, ele coloque MAX. + o conteúdo do campo.

exemplos:

Min.150
Max. 180

com meu código está ficando assim:

150 à 180 Bar

Lembrando que em algumas situações eu preciso apenas do minimo ou do Maximo

Já estar errado. String é um array de caracteres certo?

Então é:

if(String.equals("Sim"){}

Então… com meu código ele já funcioan perfeitamente, mas agora quero colocar a segunda parte q é oq expliquei mais em baixo. essa parte de juntar Ex: 150 à 180 bar, já está certo.

Primeiro, CadTPETipoteste.getSelectedItem(); deve retornar uma String pra poder fazer a comparação de Strings.
Segundo, é que no Java quando se vai fazer uma comparação de String usa-se o método equals();.

Por exemplo:

if(String.equals("value")){
    ...
}
1 curtida

Pelo que entendi, você não precisa testar se o máximo tá vazio porque isso já é testado caso o combobox venha com o valor Não.

Mas se realmente quiser fazer o teste, tem um método isEmpty(); que testa se a String é vazia.
Ficaria algo como:

if(String==null && String.isEmpty()){
    ...
}

Você deve ter notado que quando comparo com null eu não uso o equals();. Isso é porque se eu usar o equals(); para comparar com null ele vai dar NullPointerException.

1 curtida

não consegui, poderia me ajudar a montar em meu código? os campos são “CadTPETipoteste” com base nesse campo se for sim, ele abre os campos maximo “CadTPEEspecMax1”, minimo “CadTPEEspecMIN1” se for não ele abre “CadTPEEspecTexto1”.

O campo CadTPETipoteste é de que tipo? String, int, float… ?
Porque String deve comparado com String, ou seja, comparar duas coisas do mesmo tipo.

String tipoteste = “”;
if (CadTPETipoteste.getSelectedItem() == “Sim”) {
if (CadTPEReferencia1.getSelectedItem() == “Sim”) {
if (CadTPEEspecMIN1.getText()!=null) {
if (CadTPEEspecMax1.getText()!=null) {
tipoteste = CadTPEEspecMIN1.getText() + " à " + CadTPEEspecMax1.getText() + " " + CadTPEUNID1.getText() + " " + “referência*”;
} else if (CadTPEEspecMax1.getText() == null) {
tipoteste = "Min. " + CadTPEEspecMIN1.getText() + " " + CadTPEUNID1.getText() + " " + “referência*”;
}
} else if (CadTPEEspecMIN1.getText() == null) {
tipoteste = "Max. " + CadTPEEspecMax1.getText() + " " + CadTPEUNID1.getText() + " " + “referência*”;
}
} else if (CadTPEReferencia1.getSelectedItem() == “Não”) {
if (CadTPEEspecMIN1.getText()!=null) {
if (CadTPEEspecMax1.getText()!=null) {
tipoteste = CadTPEEspecMIN1.getText() + " à " + CadTPEEspecMax1.getText() + " " + CadTPEUNID1.getText();
} else if (CadTPEEspecMax1.getText() == null) {
tipoteste = "Min. " + CadTPEEspecMIN1.getText() + " " + CadTPEUNID1.getText();
}
} else if (CadTPEEspecMIN1.getText() == null) {
tipoteste = "Max. " + CadTPEEspecMax1.getText() + " " + CadTPEUNID1.getText();
}
}
} else if (CadTPETipoteste.getSelectedItem() == “Não”) {
if (CadTPEReferencia1.getSelectedItem() == “Sim”) {
tipoteste = CadTPEEspecTexto1.getText() + " " + “referência*”;
} else if (CadTPEReferencia1.getSelectedItem() == “Não”) {
tipoteste = CadTPEEspecTexto1.getText();
}
}

montei ele totalmente, mas ele n ta enxergando essa parte e ta pulando logo pro final.

                if (CadTPEEspecMIN1.getText()!=null) {
                    if (CadTPEEspecMax1.getText()!=null) {
                        tipoteste = CadTPEEspecMIN1.getText() + " à " + CadTPEEspecMax1.getText() + " " + CadTPEUNID1.getText() + " " + "referência*";
                    } else if (CadTPEEspecMax1.getText() == null) {
                        tipoteste = "Min. " + CadTPEEspecMIN1.getText() + " " + CadTPEUNID1.getText() + " " +