UnivariateOperator のジェネリックを指定する必要があるため、できません。TimeSeries をサンプリングするジェネリック メソッドだけが必要な場合は、次のようなものが必要になります。
public class TimeSeriesSampler {
public static <T> TimeSeries<T> sample(TimeSeries<T> timeseries) {
...
}
}
ただし、SamplingOperator で UnivariantOperator を実装する場合は、ジェネリックを指定する必要があります。それでも指定したくない場合は、次のように使用できます
public class SamplingOperator implements UnivariateOperatior<Object> {
private SamplingOperator(){
}
public <T> TimeSeries<T> sample(TimeSeries<T> timeseries) {
return null;
}
@Override
public TimeSeries<Object> operateOn(TimeSeries<Object> timeseries) {
...
}
}
ただし、ジェネリックの力は失われます。別の方法は
public class SamplingOperator<S> implements UnivariateOperatior<S> {
private SamplingOperator(){
}
public <T> TimeSeries<T> sample(TimeSeries<T> timeseries) {
return null;
}
@Override
public TimeSeries<S> operateOn(TimeSeries<S> timeseries) {
return timeseries;
}
}
しかし、サンプルメソッドはインスタンスメソッドではなくクラスメソッドの感覚を与えるため、「臭い」がします。何をするかはあなたの選択です。