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

时间:2010-12-24 18:11:39

标签: java android

在代码....

NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

实际上有必要两次定义数据类型吗?

4 个答案:

答案 0 :(得分:5)

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

我的观点是定义和投射之间存在差异。

答案 1 :(得分:1)

在那种情况下,是的。 getSystemService返回一个Object实例,您必须将其转换为您需要的任何内容(在本例中为NotificationManager

答案 2 :(得分:0)

不,你应该只需要定义一次,例如:

NotificationManager mNotificationManager = getSystemService(ns);

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

答案 3 :(得分:0)

您没有声明类型2x。在线,

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

您已声明了NotificationManager nm类型的变量,并将getSystemService()的返回类型(即Object)强制转换为NotificationManager类型,从而使得对nm的赋值合法。请注意,你可以在没有演员的情况下做到这一点,

Object obj = getSystemService(...);

但除非你施展它,否则你不能将obj用作其他任何对象。