繁体   English   中英

是否需要双重定义数据类型?

[英]Is it necessary to double define data type?

在代码中...

NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

是否实际上需要两次定义数据类型?

我认为您不是要定义两次,而是要定义一次,然后将值/对象转换为特定类型。 在某些情况下,有必要这样做。

我的观点是定义和强制转换之间有区别。

在这种情况下,是的。 getSystemService返回一个Object实例,您必须将该对象强制转换为所需的对象(在本例中为NotificationManager

不,您只需要定义一次即可,例如:

NotificationManager mNotificationManager = getSystemService(ns);

但是,请确保getSystemService的返回类型为NotificationManager或其子类之一。

您不是在声明2x类型。 在行中

NotificationManager nm = (NotificationManager)getSystemService(...);

您已经声明了类型为NotificationManager nm的变量,并将getSystemService()的返回类型(即Object)强制转换为NotificationManager类型,从而使对nm的分配合法。 请注意,您可以在没有演员表的情况下执行此操作,

Object obj = getSystemService(...);

但除非将其强制转换,否则您不能将obj用作其他任何对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM