我是Android的新手,我必须在两块PCB之间建立蓝牙连接。我在API指南中看到了一行代码,但我仍然没有弄清楚它的含义。我想知道是否有人可以帮助我。
这是代码:
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
我无法理解的是Set<BluetoothDevice>
!
为什么他们在"< >"
之间放置一些东西。我也见过ArrayAdapter<String>
。这些元素的作用是什么?
答案 0 :(得分:3)
这会使Set
成为Generic集合。当你声明这个:
Set<BluetoothDevice> pairedDevices
表示Set
对象应仅包含BluetoothDevice
类型的对象。通常建议使用通用集合,因为您可以获得类型安全的直接好处。
Java Collections Framework旨在处理任何类型的对象。在 Java 1.4 及更早版本中,他们使用java.lang.Object
作为添加到集合中的任何对象的类型。您必须在使用它们时将对象显式地转换为所需的类型,否则您将遇到编译时错误。
Java 中引入的Java Generics提供了更强的类型安全性。泛型允许将类型作为参数传递给类,接口和方法声明。例如:
Set<BluetoothDevice> pairedDevices
此示例中的<BluetoothDevice>
是一个类型参数。使用type参数,编译器可确保我们仅将集合与兼容类型的对象一起使用。
另一个好处是我们不需要转换从集合中获取的对象。现在可以在编译时检测对象类型错误,而不是在运行时抛出转换异常。
建议阅读: