Null em java

3 respostas
logicajava
JonthaCabral
eu tenho 3 objetos do tipo x que são preenchidos dinamicamente pela aplicação.

obj ex1;

obj ex2;

obj ex3
e eu preciso setar eles em outros atributos, mas é o seguinte. ex:

teste1.setteste1(ex1)

teste2.setteste2(ex2)

teste3.setteste3(ex3)

mas o negocio é que se o se um deles tiver nulo eu seto com ou ex que outro atributo, desde que ele não esteja nulo. Caso todos sejam nulos eu lanço uma excessão.

Mas não sei como fazer isso.

3 Respostas

sistemas_robustos

Vc pode usar if para testar se esta null, e um contador para ver quantos que estão null e em seguida verificar se esse contador é igual a 3(no caso) sendo assim vc lança uma exception.
ex:

int contNull = 0;
if(ex1 == null){
  contNull++;
}
if(ex2 == null){
  contNull++;
}
if(ex3 == null){
  contNull++;
}

if(contNull == 3){
    throw new Exception();
}

Espero ter ajudado.

LuanFroehlich

Não entendi…

Você pode adicionar eles numa lista, percorrer a lista verificando cada um.
rodevops

Complementando sua resposta, a partir do Java 8 é possível filtrar uma lista e já retornar uma soma, segue exemplo que o @JonthaCabral pode adaptar…

Algo nesse sentido:

int nulos = list.stream().filter(i -> i == null).mapToInt(i -> i).sum();

if (nulos == list.size()) {
    throw new Exception("Objetos nulos na lista");
}

Isso se aplicaria a regra de todos nulos lança exeção, mas se quiser mudá-la para se houver ao menos 1 nulo lança exceção por exemplo basta:

if (nulos > 0) {
    throw new Exception("Objetos nulos na lista");
}

E assim vai brincando e aprendendo mais sobre o novo recurso de streams do Java, boa sorte!

Criado 25 de junho de 2018
Ultima resposta 26 de jun. de 2018
Respostas 3
Participantes 4