stack.peek()方法-Java 公共类坐标{ 私有整数行; 私有整数列; 公共坐标(整数行、整数列){ this.row=行; this.column=列; } 公共void setRow(整数行){ this.row=行; } 公共void setColumn(整数列){ this.column=列; } 公共整数getRow(){ 返回行; } 公共整数getColumn(){ 返回列; } 公共字符串toString(){ 返回“”; } }

stack.peek()方法-Java 公共类坐标{ 私有整数行; 私有整数列; 公共坐标(整数行、整数列){ this.row=行; this.column=列; } 公共void setRow(整数行){ this.row=行; } 公共void setColumn(整数列){ this.column=列; } 公共整数getRow(){ 返回行; } 公共整数getColumn(){ 返回列; } 公共字符串toString(){ 返回“”; } },java,class,stack,Java,Class,Stack,好的,我有这个坐标类,我有一些被推到堆栈上。现在我想做的是查看其中一个,并能够在查看的地方使用getRow和getColumn方法。我该怎么做?我遇到的问题是,我正在创建一个新的坐标实例,然后将stack.peek()赋值给它,然后使用上面的方法,但这不起作用。混淆坐标c=新坐标(1,2); public class Coordinate{ private Integer row; private Integer column; public Coordinate(Integer row,

好的,我有这个坐标类,我有一些被推到堆栈上。现在我想做的是查看其中一个,并能够在查看的地方使用getRow和getColumn方法。我该怎么做?我遇到的问题是,我正在创建一个新的坐标实例,然后将stack.peek()赋值给它,然后使用上面的方法,但这不起作用。混淆

坐标c=新坐标(1,2);
public class Coordinate{

private Integer row;
private Integer column;

public Coordinate(Integer row, Integer column){
    this.row = row;
    this.column = column;
}

public void setRow(Integer row){
    this.row = row;
}

public void setColumn(Integer column){
    this.column = column;
}

public Integer getRow(){
    return row;
}

public Integer getColumn(){
    return column;
}

public String toString(){
    return "<" + row.toString() + "," + column.toString() + ">";
}
}
堆栈s=新堆栈(); s、 推(c); System.out.println(s.peek()); 坐标c2=(坐标)s.pop(); 系统输出打印LN(c2); System.out.println(c2.getRow());
这里有一个提示,不要使用java.util.Stack。它来自于原始的藏品库,但不是很好


“编辑”“修改”以表示演员阵容,在本例中,这听起来像是您需要的。注意c和c2将指向同一个对象。

看起来您可能需要将stack.peek()的结果强制转换到坐标类。类似于
System.out.println(((坐标)mazeStack.peek()).getRow())可能就是你要找的。

坐标的定义其实并不相关;将它的一个实例推到堆栈上,然后从
peek
调用的结果中调用coords方法:
stack.peek().getColumn()
。或者您正试图像Bill的回答那样调用堆栈方法吗?问题不是很清楚,我试着做System.out.println(stack.peek().getRow());但出现错误:找不到符号System.out.println(mazeStack.peek().getRow());^symbol:method getRow()位置:类对象完全无法读取;编辑问题。但是,看起来您的堆栈声明不正确--请参见Bill的回答。我创建了自己的堆栈类,我不使用java.util中的堆栈类,也就是说,如果您的stack.peek()实现实际返回了一个对象。是的,非常感谢!我忘了演员。解决了我的问题OP做了他自己的
堆栈
类看起来像他做的,但他直到后来才这么说。
Coordinate c = new Coordinate(1,2);
Stack<Coordinate> s = new Stack<Coordinate>();
s.push(c);
System.out.println(s.peek());

Coordinate c2 = (Coordinate)s.pop();
System.out.println(c2);
System.out.println(c2.getRow());