Java Generics - 为什么不输出变量?

Dou*_*ith 0 java generics

我进行了搜索和搜索,我觉得我遗漏了一些关于使用它们的步骤.

通用的类文件:

public class Point <T> {
    private T xPos, yPos;

    public Point(T xPos, T yPos) {
        this.xPos = xPos;
        this.yPos = yPos;
    }

    public T getXPos() {
        return xPos;
    }

    public void setXPos(T xPos) {
        this.xPos = xPos;
    }

    public T getYPos() {
        return yPos;
    }

    public void setYPos(T yPos) {
        this.yPos = yPos;
    }
}
Run Code Online (Sandbox Code Playgroud)

演示文件:

public class PointTester {
    public static void main(String[] args) {
        Point<Integer> point1 = new Point<Integer>(10,20);
        Point<Double> point2 = new Point<Double>(14.5, 15.6);
        Point<String> point3 = new Point<String>("topleftx", "toplefty");
        System.out.println(point1);
        System.out.println(point2);
        System.out.println(point3);
    }
}
Run Code Online (Sandbox Code Playgroud)

eps*_*lon 7

要定义打印类的方式,需要覆盖标准toString()方法.在你的例子中,你会做类似的事情

public String toString() {
  return "(" + xPos + ", " + yPos + ")";
}
Run Code Online (Sandbox Code Playgroud)