Métodos genéricos de Java:
Não vou dizer muito sobre o que os genéricos querem dizer, e a definição de classes genéricas em Java também é relativamente simples, por exemplo: Teste de classe pública <T> {}. Isso define um teste de classe genérica. Ao instantar essa classe, você deve especificar o tipo específico de t genérico, por exemplo: teste <ject> t = novo teste <ject> ();, indicando que o tipo de t genérico é objeto.
Mas os métodos genéricos em Java são mais complicados.
Uma classe genérica indica o tipo específico de um genérico ao instantar uma classe; Um método genérico indica o tipo específico de um genérico ao chamar um método.
O formato de sintaxe para definir um método genérico é o seguinte:
O formato de sintaxe de chamar um método genérico é o seguinte:
Para explicar, ao definir um método genérico, você deve adicionar um <t> ao valor de retorno para declarar que esse é um método genérico, mantendo um T genérico e, em seguida, você pode usar T genérico como o valor de retorno do método.
A função da classe <T> é indicar o tipo específico de um tipo genérico, e a variável C do tipo de classe <t> pode ser usada para criar objetos de uma classe genérica.
Por que usar a variável C para criar um objeto? Como é um método genérico, significa que não sabemos qual é o tipo específico ou qual é o método do construtor. Portanto, não há como novo objeto, mas podemos usar o método NewInstance da variável C para criar um objeto, ou seja, usar a reflexão para criar um objeto.
Os parâmetros exigidos por um método genérico são da classe de tipo <T>, e o valor de retorno do método Class.Forname () também é classe <T>, então classe.ForName () pode ser usado como um parâmetro. Entre eles, que tipo é o parâmetro no método forName () e que tipo é a classe retornada <T>. Neste exemplo, o método forName () é passado no caminho completo da classe de usuário, para que o objeto da classe <usuário> seja retornado. Portanto, ao chamar o método genérico, o tipo de variável C é de classe <suser>, portanto, o t genérico no método genérico é indicado como usuário, portanto o tipo de variável obj é usuário.
Obviamente, os métodos genéricos não podem ter apenas uma classe de parâmetro <T>, mas outros parâmetros podem ser adicionados conforme necessário.
Por que usar métodos genéricos? Como as classes genéricas precisam indicar o tipo quando instanciadas, se você deseja alterar um tipo, precisará renová -lo, o que pode não ser flexível o suficiente; Embora os métodos genéricos possam indicar o tipo quando chamado, que é mais flexível.
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!