0

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

我的意思是:如果我有我的 class public class SparseMatrix<type>,并且我在 class 中的一个方法(add方法)需要使用其成员的 add 方法,我怎样才能让它 requiretype有一个add方法?我需要我的 SparseMatrix 不仅可以处理数字和字符串,还可以处理其他类型的可添加事物,甚至其他矩阵。

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

4

1 回答 1

3

您不能仅仅基于方法的存在来做到这一点——这些类型必须实现一个公共接口或超类。例如:

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

然后:

public class SparseMatrix<T extends Addable<T>>

当然,您不能让现有类型(数字、字符串)实现该接口——您必须编写自己的适用包装器类型。

于 2012-09-29T17:36:35.387 回答