infer generics with inteface - java -
i have next inteface:
public interface evaluator<t> { t evaluate(collection<extractable> sample); } and class implementing inteface:
public class precisionevaluator implements evaluator<map<triple<short, integer, string>, attributeprecisionbean>> { @override public map<triple<short, integer, string>, attributeprecisionbean> evaluate(collection<extractable> sample){ ... }
so usage of above be:
evaluator<map<triple<short, integer, string>, attributeprecisionbean>> eval = new precisionevaluator(); is there way to create interface evaluator implicitly homecoming generic type defined in class implementing it? usage be:
evaluator eval = new precisionevaluator(); or there cleaner way go it?
yeah there way : larn scala, syntax far simpler java's, to, among other reasons, compiler type inference.
more seriously, cannot improve java, if utilize evaluator lone going compiled evaluator<object>, not allow have type safety , polymorphism. here creating class class customtriple extends triple<short,integer,string>> have shorter.
java generics
No comments:
Post a Comment