0
public class ResultContainer<T implements java.io.Serializable>
implements java.io.Serializable{
 int errorCode;
 T result;
 /* ... Few Other variables ... */
}

这段代码有什么问题,我基本上需要一个通用类型(如包装器)来存储我的所有结果,其中包含实际结果和一些其他信息。在这里,我需要实际的 Result 类(即此处的“T”)和 ResultContainer 类都是可序列化的。

我该怎么做呢?

4

4 回答 4

3

当您在泛型中有接口时,您仍然必须使用 extends 关键字。你不应该在泛型中使用 implements 关键字。

public class ResultContainer<T implements java.io.Serializable>
implements java.io.Serializable{

应该

public class ResultContainer<T extends java.io.Serializable>
implements java.io.Serializable{
于 2012-11-05T23:16:28.977 回答
3

你必须使用:

public class ResultContainer<T extends java.io.Serializable>
于 2012-11-05T23:16:57.937 回答
1

你必须写

public class ResultContainer<T extends java.io.Serializable>

实现被视为继承,因为您继承了接口的方法。

于 2012-11-05T23:17:58.157 回答
0

只是一个简单的错误...如果您问我,您必须说extends而不是implements在通用类型约束中...但是语言混乱;-)

import java.io.Serializable;

public class ResultContainer<TResult extends Serializable> implements Serializable
{
    private static final long serialVersionUID = 1L;
    int errorCode;
    TResult result;
}

现在复习泛型教程可能会对您有所帮助,只是为了提高您的技能,因为我认为您将在这个项目中广泛使用泛型。

通过一个 tut 比在网上单独询问所有这些复杂的事实要快得多。

干杯。基思。

于 2012-11-05T23:26:33.767 回答