DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

1 1 1

Construtores genéricos

  • Um construtor pode ser genérico, mesmo se sua classe não o seja. Por exemplo, no programa a seguir, a classe Summation não é genérica, mas seu construtor é.

// Usa um construtor genérico.
class Summation {
private int sum;
<T extends Number> Summation(T arg) { // Construtor genérico
sum = 0;
for(int i=0; i <= arg.intValue(); i++)
sum += i;
}
int getSum() {
return sum;
}
}
class GenConsDemo {
public static void main(String args[]) {
Summation ob = new Summation(4.0);
System.out.println("Summation of 4.0 is " +
ob.getSum());
}
}

  • A classe Summation é usada para calcular e encapsular a soma de valores numéricos de 0 até o número passado ao seu construtor.

Tipo Genérico com Limite Superior:
O parâmetro de tipo é limitado por Number, permitindo que a classe aceite qualquer tipo numérico, como Integer, Float ou Double.

Conversão de Tipos:
O valor numérico é convertido em Integer usando o método intValue() antes de calcular a soma.

Flexibilidade:
Embora a classe não seja genérica, o construtor é genérico, permitindo o uso de diferentes tipos numéricos de forma simples e eficiente.

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs