manejo - objeto t en java
¿Cómo crear un constructor genérico para una clase genérica en Java? (3)
Quiero crear una clase de KeyValue pero de manera genérica y esto es lo que he escrito:
public class KeyValue<T,E>
{
private T key;
private E value;
/**
* @return the key
*/
public T getKey() {
return key;
}
/**
* @param key the key to set
*/
public void setKey(T key) {
this.key = key;
}
/**
* @return the value
*/
public E getValue() {
return value;
}
/**
* @param value the value to set
*/
public void setValue(E value) {
this.value = value;
}
public KeyValue <T, E>(T k , E v) // I get compile error here
{
setKey(k);
setValue(v);
}
}
el error dice: "Error de sintaxis en token"> ", Identificador esperado después de este token"
¿cómo debería crear un constructor genérico en Java entonces?
Debe eliminar <T, E>
de la firma del constructor: ya está allí implícitamente.
public KeyValue(T k , E v) // No compile errors here :)
{
setKey(k);
setValue(v);
}
Escribe constructor exactamente de la misma manera que escribiste otros métodos
public KeyValue(T k , E v)
{
setKey(k);
setValue(v);
}
el constructor se puede escribir como
public<T,E> KeyValue(T k,E v){}
pero no es necesario también podemos escribir public KeyValue(T k,E v)