É possível escrever um método +1 genérico para tipos de caixa numéricos em Java?
Este não é um dever de casa.
Parte 1É possível escrever um método genérico, algo como isto:
<T extends Number> T plusOne(T num) {
return num + 1; // DOESN'T COMPILE! How to fix???
}
Com falta de usar um monte deinstanceof
e lança, isso é possível?
Os três métodos a seguir são compilados:
Integer plusOne(Integer num) {
return num + 1;
}
Double plusOne(Double num) {
return num + 1;
}
Long plusOne(Long num) {
return num + 1;
}
É possível escrever uma versão genérica que ligueT
apenasInteger
, Double
ouLong
?