Vou deixar pra eu mesmo relembrar o que eu escrevi e pra quem tiver curiosidade sobre widening cast e narrowing cast /* * A conversão de tipo em Java é usada para converter objetos ou variáveis de um tipo em outro. * Quando estamos convertendo ou atribuindo um tipo de dados a outro, eles podem não ser compatíveis. * Se for adequado, funcionará sem problemas, caso contrário, haverá chances de perda de dados. * * Tipos de conversão de tipos em Java * O Java Type Casting é classificado em dois tipos. * - Widening cast (Ímplicito) - conversão automática de tipo * - Narrowing cast (explicito) - precisa de conversão explicita * * Widening Cast (menor para o maior tipo): Pode ocorrer se os dois tipos forem compatíveis e o tipo * destino for maior que o tipo origem * ex.: * byte source = 40; * short target = source; (não precisa de casting pra short) * * Widening Cast (Tipo de classe): No exemplo abaixo, a classe Computer e Tomato são os tipos menores * que estamos atribuindo ao tipo de classe Product, que é um tipo maior, portanto, * nenhuma conversão é necessária. * * Narrowing Cast (maior para o menor tipo): Quando estamos atribuindo um tipo maior a um tipo menor, * a conversão explicita é necessária. * ex.: * double source = 30.0; * float target = (float) source; (precisa do casting explícito pra float) * * Narrowing Cast (Tipo de classe): Quando estamos atribuindo um tipo maior a um tipo menor, * precisamos convertê -lo explicitamente. * ex.: * Product product = new Computer(); * Computer computer = (computer) product; * System.out.println(computer.getName()); * */
if (produto instanceof Tomate tomate){ System.out.println(tomate.getDataDeValidade()); } else { System.out.println("ERRO"); } poderia ter sido feito assim tambem, mas acho que naquela versao nao existia esse metodo posso estar errado
Vou deixar pra eu mesmo relembrar o que eu escrevi e pra quem tiver curiosidade sobre widening cast e narrowing cast
/*
* A conversão de tipo em Java é usada para converter objetos ou variáveis de um tipo em outro.
* Quando estamos convertendo ou atribuindo um tipo de dados a outro, eles podem não ser compatíveis.
* Se for adequado, funcionará sem problemas, caso contrário, haverá chances de perda de dados.
*
* Tipos de conversão de tipos em Java
* O Java Type Casting é classificado em dois tipos.
* - Widening cast (Ímplicito) - conversão automática de tipo
* - Narrowing cast (explicito) - precisa de conversão explicita
*
* Widening Cast (menor para o maior tipo): Pode ocorrer se os dois tipos forem compatíveis e o tipo
* destino for maior que o tipo origem
* ex.:
* byte source = 40;
* short target = source; (não precisa de casting pra short)
*
* Widening Cast (Tipo de classe): No exemplo abaixo, a classe Computer e Tomato são os tipos menores
* que estamos atribuindo ao tipo de classe Product, que é um tipo maior, portanto,
* nenhuma conversão é necessária.
*
* Narrowing Cast (maior para o menor tipo): Quando estamos atribuindo um tipo maior a um tipo menor,
* a conversão explicita é necessária.
* ex.:
* double source = 30.0;
* float target = (float) source; (precisa do casting explícito pra float)
*
* Narrowing Cast (Tipo de classe): Quando estamos atribuindo um tipo maior a um tipo menor,
* precisamos convertê -lo explicitamente.
* ex.:
* Product product = new Computer();
* Computer computer = (computer) product;
* System.out.println(computer.getName());
* */
Muito top
boa irmão ,ajudou bastante
"Você decepcionou o Java, e você não quer decepcionar o Java"
perdi tudo os butiá do bolso aqui kkkkkkkkkkkkkkkkkkkkkkkkkkk
Revisando aqui. Lembro que eu demorei muito para entender o downcasting na época que estava estudando Java kkkkkkk. Bagulho mó simples.
Aula 93 - ok!! Bora dále!!
Gogogo! (07 dez 2024)
Aula 93 - OK ✔️
Aula concluida 26/10/23
Aula 93- OK ✔
Aula 93 OK
Jobs Done! Aula 93 - Ok
ty bro 👊
Lesson 93 done.
Presente!
Done :-)
Você decepcionou o Java, e você não quer decepcionar o Java"
Aula 93 - OK
Aula 93 ok!!!
Aula 93 11/06/22 Ok!
Willian boa tarde
me tira uma duvida
no caso do if vc pode utilizar um caso desse tipo aqui :
if(produto instanceof Tomate tomate)?
Não
Aula 93 ok - 03/11/2022
Já que eu acompanho você
Aula ✅ - 14/11/2023
aula 93 ok
Aula 093 ok
Aula 93 = OK! 28/12/2022
ok = 17/06/2022
Aula 093 - 22/02/2023 - OK !
Aula 93 /286
aula concluida 11/03/2004
up
Aula ✅ - 14/03/2024
Aula93 =Ok✅ 02/02/2023
aula 93 ok! 27/04/23
Aula 93 OK! 12/01/24
Aula 93 = OK! 01/02/2023
Professor, muito boa aula. Acho que se decepcionar o Java obrigatório já que ele me decepciona todos os dias
aula93 = ok;
Eu decepcionei, eu decepcionei o Java☹😢
if (produto instanceof Tomate tomate){
System.out.println(tomate.getDataDeValidade());
} else {
System.out.println("ERRO");
}
poderia ter sido feito assim tambem, mas acho que naquela versao nao existia esse metodo posso estar errado
Aula 93 - OK
Aula 93- OK ✔
Aula 93 - OK