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 に答える