小编Rob*_*ill的帖子

告诉Java Class <T> T中有一个特定的方法

我目前正在实施一种算法,以在数据集中生成高方差群集.在我的不同测试中,我将使用许多不同的数据类型,因此我需要使我的Cluster类可用于任何数据类型T.所以,我有:

public class Cluster<T> {
    private int score;
    private ArrayList<T> list;
    private int k;
Run Code Online (Sandbox Code Playgroud)

为了能够评估该算法的有效性,我们得到了一个基于集群中每个对象之间距离计算的分数.这是computeScore()方法:

private void computeScore() {
    if (list.size() < 2) score = 0;
    else if (list.size() == 2) {
        T x = list.remove(1);
        T y = list.remove(0);
        score = x.distanceTo(y);
        list.add(y);
        list.add(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是在computeScore()方法中,该行score = x.distanceTo(y)会引发错误,因为对于类型T,distanceTo()方法是未定义的.对于我的所有数据类型,我将在此处定义此方法.我如何告诉Cluster类,是否定义了distanceTo()?

在此先感谢您的帮助.

java generics types class

0
推荐指数
1
解决办法
86
查看次数

标签 统计

class ×1

generics ×1

java ×1

types ×1