gpt4 book ai didi

Java Stack.peek() 到对象

转载 作者:行者123 更新时间:2023-12-02 11:20:26 24 4
gpt4 key购买 nike

我正在尝试使用堆栈将对象放入堆栈中。我有一个 Pixel 类,它有一个简单的 getX 函数,该函数返回构造函数中定义的变量。当我使用 stack.peek().getX(); 时它说它找不到 .getX() 的符号;

Stack stack = new Stack();
Pixel first = new Pixel(colorX,colorY);

stack.push(first);

int x = stack.peek().getX();

我是否使用了 peek 功能错误?或者我的 Pixel 类设置不正确?

public class Pixel {
private int x, y , count = 0;

Pixel(int x_in, int y_in)
{
x = x_in;
y = y_in;
}

public int getX(){return x;}
public int getY(){return y;}

最佳答案

这是因为您使用的是原始Stack ,而不是 Stack<Pixel>你会收到这个错误。原始堆栈本质上相当于 Stack<Object> ,所以当您调用peek()时它返回Object而不是Pixel

即使运行时类型可能是 Pixel ,方法解析发生在编译时并且 Object没有getX()方法。

关于Java Stack.peek() 到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49959327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com