这看起来像是一个基本的面向对象问题,但我来自Pascal / Delphi背景,我找不到类似的方法来在Java中获得相同的结果。
在Pascal / Delphi中,我可以改变这样的事情(这不完全正确,但只是为了给你一个例子):
var a: TButton; b: string;
begin
a := TButton(getObject(request));
b := a.caption;
end;
进入这个:
var b: string;
begin
b := TButton(getObject(request)).caption;
end;
但是如何在Java中实现相同的解决方案?如何改变:
Button a;
String b;
a = (Button) getObject(request);
b = a.caption;
到
String b;
b = (Button) getObject(request).caption;
或类似的东西?关键是,我想消除声明临时变量来保存对象的需要,如果我想要的只是在该对象中获取另一个值(或对象)。但问题是,对象需要首先进行类型化,因为我收到的只是getObject()
函数中的一般对象。谢谢你的帮助。
答案 0 :(得分:0)
我会这样做:
b = (String)((Button) getObject(request).caption)