作为一项微不足道的练习的一部分,我正在尝试实现以下Java接口:
$parts = explode('.', $number);
echo $parts[0];
echo isset($parts[1]) ? number_format($parts[1] ,0) : '0';
使用Java类非常容易实现。但是,在处理public interface Sort {
@SuppressWarnings("rawtypes")
public ArrayList<Comparable> sort(ArrayList<Comparable> table);
}
时,Scala的类型推断似乎存在问题。这是我的Scala实现:
Collections.sort()
这是我在运行一些测试时遇到的错误(主要用class SortImpl extends Sort {
override def sort(table: util.ArrayList[Comparable[_]]): util.ArrayList[Comparable[_]] = {
util.Collections.sort(table)
table
}
}
,ArrayList<Double>
等测试方法。)
ArrayList<Integer>
我找到了处理此问题的示例,仅针对特定类,例如: Sort unbound Comparable in Scala
而且,我无法修改界面。有没有办法在Scala中实现它?
答案 0 :(得分:1)
试试:
scala> import java.{util => u}
import java.{util=>u}
scala> def sort[T <: Comparable[T]](t: u.ArrayList[T]):u.ArrayList[T] = {
u.Collections.sort(t); t
}
sort: [T <: Comparable[T]](t: java.util.ArrayList[T])java.util.ArrayList[T]