确保参数化类型具有特定方法

时间:2012-09-29 17:34:04

标签: java type-parameter

如何指定特定的参数化类型需要具有特定方法?

我的意思是:如果我有我的班级public class SparseMatrix<type>,并且班级中的一个方法(add方法)需要使用其成员的添加方法,我该如何制作它要求typeadd方法吗?我需要我的SparseMatrix不仅可以使用数字和字符串,还可以使用其他类型的可添加的东西,甚至其他基质。

我也会在我的mulsub方法中使用它。

1 个答案:

答案 0 :(得分:3)

您不能仅仅基于方法的存在来实现 - 类型必须实现公共接口或超类。例如:

public interface Addable<T>
{
    T add(T lhs, T rhs);
}

然后:

public class SparseMatrix<T extends Addable<T>>

当然,您无法使现有类型(数字,字符串)实现该接口 - 您必须编写自己的适用包装类型。