将Java类声明为MyClassName<;参数>;?
我正在开发一个Java应用程序,在该应用程序中我发现了以下类:将Java类声明为MyClassName<;参数>;?,java,oop,generics,Java,Oop,Generics,我正在开发一个Java应用程序,在该应用程序中我发现了以下类: public class TipologiaGenerica<K> { private K codice; private String descrizione; public TipologiaGenerica(K codice, String descrizione) { this.codice = codice; this.descrizione = des
public class TipologiaGenerica<K> {
private K codice;
private String descrizione;
public TipologiaGenerica(K codice, String descrizione) {
this.codice = codice;
this.descrizione = descrizione;
}
public K getCodice() {
return codice;
}
public void setCodice(K codice) {
this.codice = codice;
}
public String getDescrizione() {
return descrizione;
}
public void setDescrizione(String descrizione) {
this.descrizione = descrizione;
}
}
事实上,在代码的其他地方,我发现了一个TipologigianGenerica对象创建:
TipologiaGenerica<String> dataPerLista = new TipologiaGenerica<String>(dataString, dataString);
Tipologia Generica dataPerLista=新的Tipologia Generica(数据字符串,数据字符串);
确切的意思是什么?我认为,以这种方式创建一个特定的Tipologigiangenerica对象,该对象的内部codice字段是一个字符串
我的推理正确吗?Java的这种特殊用途的名称是什么?这种构造函数最常见的用途是什么?它被称为泛型类型。您可以使用它们将一些类/方法概括为类型安全代码“模板” 查看有关此主题的Oracle教程 我的推理正确吗 对 Java的这种特殊用途的名称是什么 这种构造函数最常见的用途是什么
类型安全性在Java中称为泛型。使用这种类型的编程是为了确保类型安全,并且可以通过插入各种对象类型来重用相同的父类。例如,在你的情况下,你已经
TipologiaGenerica<String>
Tipologigiangenerica
用户可以将同一类重新用于其他类型,例如
TipologiaGenerica<Integer>
Tipologigiangenerica
我想你的尖括号已经被去掉了。用双括号代替。是的。我正在尝试添加,但在添加过程中遇到了问题。你将你的问题标记为“泛型”,命名为你的类TipologiaGenerica
,但你不知道你在使用什么功能…?@kryger他可能不会问,因为他不知道,但因为他觉得在java中缺乏一个关于泛型基础的好问题。
TipologiaGenerica<Integer>