首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java method().method()调用

Java method().method()调用
EN

Stack Overflow用户
提问于 2012-06-21 08:17:27
回答 2查看 1.7K关注 0票数 1

如果可能,如何从另一个方法的return调用method

例如..。

代码语言:javascript
运行
复制
class Example {
    public static void main(String[] args) {
        Point t1 = new Point(0,0);
        Point t2 = new Point(0,1);
        ArrayList pointContainer = new ArrayList();
        pointContainer.add(0,t1);
        pointContainer.add(0,t2);    // We now have an ArrayList containing t1 & t2
        System.out.println(pointContainer.get(1).getLocation()); // The problem area
    }
}

在这个写得很糟糕的示例中,我试图对pointContainer的索引项1调用getLocation()方法(java.swing.awt的一部分)。

当尝试编译程序时,我得到以下错误...

代码语言:javascript
运行
复制
HW.java:20: error: cannot find symbol
        System.out.println(test.get(1).getLocation());
                                  ^
  symbol:   method getLocation()
  location: class Object

有人能帮我解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-21 08:19:34

首先,输入您的ArrayList,这样Java就可以知道从它出来的是什么对象。

代码语言:javascript
运行
复制
List<Point> pointContainer = new ArrayList<Point>();

然后,您从该ArrayList检索的任何对象都将是Point类型,因此您可以对它们执行操作。

票数 4
EN

Stack Overflow用户

发布于 2012-06-21 08:26:06

在您的示例中,需要显式转换为Point,然后调用所需的方法。否则你需要用java泛型的方式定义arraylist,就像@Makoto提到的那样。

投射方式是

((Point)pointContainer.get(1)).getLocation()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11129957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档