Android - Android 的任何对象,如 iOS Swift 2

Android - AnyObject for Android like iOS Swift 2

我需要帮助,这是 Swift 中 AnyObject Class 的示例。

class OtherClass {
   private var myValue: String?
   func setValue(myValue: String) {
      self.myValue = myValue
   }
   func getValue() -> String {
      return myValue!
   }
}

class MyClass {
   init() {
      let otherClass = OtherClass()
      otherClass.setValue("Value here!")
      let myValue = getValue(otherClass) as? String
      print(myValue) // output is Value here!
   }
   func getValue(object: AnyObject) -> AnyObject {
      let myObject = object as! OtherClass
      return myObject.getValue()
   }
}

我们可以将 OtherClass 对象添加到 getValue 方法的参数中。可以看到,参数method是AnyObject不是OtherClass。但是在 android 我不能那样做。那么,可以像在 iOS 中那样在 Android 中使用 AnyObject Class 吗?

您需要使用 Java 对象 class。否则,您可以创建自己的 class,由所有 OtherClass 扩展并将其用作输入类型参数。

你也可以看看 Java Generic Types(但它更高级,在这种情况下可能没有用)

Swift AnyObject Doc:

The protocol to which all classes implicitly conform.

Java Object Doc:

Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class.