擅长:python、mysql、java
<p>输入/输出类型问题的一个解决方案可能是使用<code>Number</code>类及其子类以及通配符。如果要接受任何类型的数值参数,可以将输入类型指定为<code>Number</code>或{<cd3>}。如果输入是一个列表,后一种形式有一个优点,因为它可以确保列表中的每个元素都是相同的类型(必须是Number的子类)。<code>?</code>被称为<a href="http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html" rel="nofollow">Wildcard</a>,当它表示为<code>? extends Number</code>时,它是一个“有界通配符”,并且只能引用边界类型的一个子类型。在</p>
<p>示例:</p>
<pre><code>public List<Number> func(List<? extends Number> data, Number nlevels)
</code></pre>
<p>这将获取<code>Number</code>的一个<em>特定</em>子类的列表,nlevels参数的<code>Number</code>,并返回<code>Number</code>的列表</p>
<p>至于函数输入参数,可以输入<code>Method</code>,尽管此时的类型检查变得很困难,因为您将向<code>Method</code>对象传递有界未知参数的数据。我不太确定那会怎样。在</p>
<p>至于返回类型,可以指定另一个参数,一个列表元素将转换(或转换)到的类对象(很可能是<code>? extends Number</code>)。在</p>
^{pr2}$
<p>这是对Java中函数可能的声明的尝试。然而,实现要稍微复杂一些。在</p>