0

我已经搜索和搜索了,我觉得我在使用它们的步骤方面遗漏了一些非常小的东西。

通用类文件:

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;
    }
}

演示文件:

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);
    }
}
4

3 回答 3

7

要定义一个类的打印方式,您需要重写标准toString()方法。在你的例子中,你会做类似的事情

public String toString() {
  return "(" + xPos + ", " + yPos + ")";
}
于 2012-09-17T01:27:21.973 回答
0

我认为它正在打印“某物”,但“某物”没有帮助。

我相信您缺少的是“toString”方法。

于 2012-09-17T01:27:40.997 回答
0

您需要覆盖将返回您要打印的内容的toStringin 。Point

例如

@Override
public String toString() {
    return /* what you want ... */;
}
于 2012-09-17T01:28:07.060 回答