Java:类型转换问题
有没有办法在一行中实现这一点:Java:类型转换问题,java,casting,Java,Casting,有没有办法在一行中实现这一点: TextView tv = (TextView) findViewById(R.id.lbSightName); tv.setText("Some Text"); 我想取消中间电视的声明,如下所示: (TextView) findViewById(R.id.lbSightName).setText("Some Text"); ((TextView) findViewById(R.id.lbSightName)).setText("Some Te
TextView tv = (TextView) findViewById(R.id.lbSightName);
tv.setText("Some Text");
我想取消中间电视的声明,如下所示:
(TextView) findViewById(R.id.lbSightName).setText("Some Text");
((TextView) findViewById(R.id.lbSightName)).setText("Some Text");
不可能?再加上一组括号,应该可以:
((TextView)findViewById(R.id.lbSightName)).setText("Some Text");
只需添加大括号。当然
你可以,但这不是最佳实践
((TextView) findViewById(R.id.lbSightName)).setText("Some Text");
TextView.class.cast(findViewById(R.id.lbSightName).setText("Some Text");
((TextView)findViewById(R.id.lbSightName)).setText(“一些东西”)代码>
再添加一组括号就可以了谢谢,为什么不是最佳实践?@Hein-您应该更喜欢多态性/访问者模式,而不是instanceof/casting,以便在Java中进行调度。@Hein-有关详细信息,请参阅我在wiki()和GoF()上的答案
((TextView) findViewById(R.id.lbSightName)).setText("Some Text");
((TextView) findViewById(R.id.lbSightName)).setText("Some Text");
TextView.class.cast(findViewById(R.id.lbSightName).setText("Some Text");