我已宣布class
名为ResultClass
,我已从该<{p}}发出linkedList
private LinkedList<ResultClass> listOfResults;
现在我想添加一个名为getSample(Double d)
的新方法,我希望将其用作listOfResults.getSample(0.5)
。如何在Java中声明类似的方法?
答案 0 :(得分:2)
你必须为此创建一个新类。 E.g:
public class SamplingLinkedList<T> extends LinkedList<T> {
public List<T> getSample(double d) {
return // something;
}
}
答案 1 :(得分:1)
如果你在谈论作为java.util的LinkedList - 答案:你不能这样做。与其他编程语言相比,Java不允许您添加方法到现有类(除非您拥有源代码并且更改该类实现)。
您可以做的一件事:创建自己的List接口实现(并使用LinkedList实现它)并添加您正在寻找的那些方法。最简单的方法是扩展java.util.LinkedList;但是,如果你赞成作文而不是inhertiance ,你可以选择自己完全实现List接口。
答案 2 :(得分:0)
将方法添加到类的唯一方法是扩展类:
class MyResultList extends LinkedList<ResultClass>
并在那里添加方法。
但是这需要你创建该类的实例:你不能&#34;#34;改造&#34;现有实例的方法。
更简单的替代方法是声明一个将链表作为参数的方法:
static ResultClass getSample(LinkedList<ResultClass> results, double valye)
没有必要将其列入该链接列表的课程。
甚至可能不需要使用LinkedList
作为参数:也许该方法的逻辑仍可用于List
,Collection
或{{ 1}}而不是。这将使该方法更普遍适用。你不能用基于继承的方法做到这一点。
答案 3 :(得分:0)
$x = '<p>aaaa</p>
<p> </p>
<p>asd</p>';
$spaces = array(' ',' ');
echo str_replace($spaces,'',strip_tags($x));
中的getSample
方法。ResultClass
方法将链接列表作为附加参数,可以在任何地方定义。