私はクラスを次のように書こうとしています:
public class Article<T<? extends ManageGenericArticleInDTO>, U> implements Serializable {
private T<? extends ManageGenericArticleInDTO> userInput;
private U severData;
public Article<T<? extends ManageGenericArticleInDTO>, U>() {
super();
}
public void setUserInput(T<? extends ManageGenericArticleInDTO> userInput) {
this.userInput = userInput;
}
public T<? extends ManageGenericArticleInDTO> getUserInput() {
return userInput;
}
public void setSeverData(U severData) {
this.severData = severData;
}
public U getSeverData() {
return severData;
}
}
私がこれらを書くことができるように:
Article<UpdateManageArticleInDTO<ManageGenericArticleInDTO>, UpdateCentralPOSMArticleDTO> article = new Article<UpdateManageArticleInDTO<ManageGenericArticleInDTO>, UpdateCentralPOSMArticleDTO>();
Article<AddManageArticleInDTO<ManageCentralPOSMArticleInDTO>, AddArticleStepDTO> article = new Article<AddManageArticleInDTO<ManageCentralPOSMArticleInDTO>, AddArticleStepDTO>(); // ManageCentralPOSMArticleInDTO extends ManageGenericArticleInDTO
Error(7,32): > expected
などのコンパイル エラーが発生しますError(7,33): illegal start of type
。私の理解では、Type 参照は実際のクラスに置き換えられます。これでクラスを定義できませんか?
私がこれを行う場合:
public class AddArticleInBean<T, U> implements Serializable {
private T userInput;
private U severData;
public AddArticleInBean() {
super();
}
public void setUserInput(T userInput) {
this.userInput = userInput;
}
public T getUserInput() {
return userInput;
}
public void setSeverData(U severData) {
this.severData = severData;
}
public U getSeverData() {
return severData;
}
}
このエラーは表示されなくなりましたが、T と U はシリアル化できないという警告が表示されます。