반응형
Java에서 일반 클래스에 대한 일반 생성자를 만드는 방법은 무엇입니까?
KeyValue 클래스를 만들고 싶지만 일반적인 방식으로 작성했습니다.
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);
}
}
오류 : "Syntax error on token"> ",이 토큰 뒤에 식별자가 필요합니다."
그러면 Java에서 일반 생성자를 어떻게 만들어야합니까?
<T, E>
생성자의 서명에서 제거해야합니다 . 이미 암시 적으로 존재합니다.
public KeyValue(T k , E v) // No compile errors here :)
{
setKey(k);
setValue(v);
}
다른 메소드를 작성한 것과 똑같은 방식으로 생성자를 작성하십시오.
public KeyValue(T k , E v)
{
setKey(k);
setValue(v);
}
생성자는 다음과 같이 작성할 수 있습니다.
public<T,E> KeyValue(T k,E v){}
하지만 그럴 필요는 없습니다.public KeyValue(T k,E v)
반응형
'UFO ET IT' 카테고리의 다른 글
로컬 클래스를 사용할 때 "instanceof에 대한 잘못된 제네릭 유형"오류 (0) | 2020.12.01 |
---|---|
F # 대 OCaml : 스택 오버플로 (0) | 2020.12.01 |
RuntimeWarning으로 numpy 나누기 : double_scalars에서 잘못된 값이 발견되었습니다. (0) | 2020.12.01 |
선언적 Jenkins 파이프 라인의 단계간에 변수를 어떻게 전달합니까? (0) | 2020.12.01 |
불변 문자열 대 std :: string (0) | 2020.12.01 |