java generics; force type of parameter object for return object

Viewed 134
public class Main<T> {
    public static void main(String[] args) {
        Wrapper<Double> wrapper = new Wrapper<>(0.0d);
        method(wrapper);
    }

    public static Wrapper<?> method(Wrapper<?> wrapper) {
        Wrapper<?> wrapper2 = new Wrapper<>(1);
        return wrapper2;
    }
}

public class Wrapper<T extends Number> {
    private final T member;

    public Wrapper(T member) {
        this.member = member;
    }
}

Wrapper wrapper has Type Double. It is then passed to method(), which first makes wrapper2 with Type Integer and returns it.

Is there some way to force wrapper2 to have the same Type as the parameter Wrapper wrapper, i.e. that wrapper2 must have Type Double?

0 Answers
Related