我正在浏览这个软件库以获取 java 中的语义规范。
用于实现 DivRank 的特定代码有一个方法,该方法采用名为 SparseMatrix 的参数: http://code.google.com/p/airhead-research/source/browse/branches/matrix-rank/src/edu/ucla/sspace/matrix/DivRank.java?spec=svn1277&r=1277
包中的文档说SparseMatrix是一个接口(interface): http://airhead-research.googlecode.com/svn/trunk/javadoc/1.7/edu/ucla/sspace/matrix/SparseMatrix.html
我的目标是将 double[][] 中的值注入(inject)到此参数中。
SparseMatrix 实现了另一个名为 Matrix 的接口(interface),它具有 setRow 和 setColumn 函数。当我尝试将其与我创建的接口(interface)的对象一起使用时,我得到了 NullPointException。我认为这是因为我还没有 SparseMatrix 接口(interface)的实例。
然后我意识到,我必须使用一个实现该接口(interface)的类并传递该类对象。但文档没有显示任何适合我需要的简单类。
我是否需要定义一个新类来实现此接口(interface)并重写接口(interface)函数并使用该对象来传递我的值?
最佳答案
我没有详细查看,但在 javadoc(您的第二个链接)上,有一个名为“所有已知实现类”的列表。您可以检查它们,我相信您会找到一个具体的类(即不是接口(interface)或抽象类)并且可以满足您的需要。例如SparseHashMatrix有一个set(row, col, value)
您可以使用该方法通过循环从 double[][]
填充矩阵。
关于java - 接口(interface)作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707388/