一尘不染

设置什么 意思?

java

我是Android的新手,必须在两个PCB之间建立蓝牙连接。我在API指南中看到了一行代码,但我仍然不清楚它的含义。我想知道是否有人可以帮助我。

这是代码:

Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();

我不明白的是Set<BluetoothDevice>

他们为什么在两者之间放一些东西"< >"。我也看过比ArrayAdapter<String>。这些元素做什么?


阅读 215

收藏
2020-12-03

共1个答案

一尘不染

这样就形成Set通用集。当您声明时:

Set<BluetoothDevice> pairedDevices

表示Set对象应仅包含类型的对象BluetoothDevice。通常建议使用泛型集合,因为您可以获得类型安全性的直接好处。

Java Collections Framework旨在处理任何类型的对象。在 Java 1.4
及更早版本中,它们用作java.lang.Object添加到集合中的任何对象的类型。使用对象时,必须将它们显式转换为所需的类型,否则会出现编译时错误。

Java 5中 引入的Java泛型提供了更强的类型安全性。泛型允许将类型作为参数传递给类,接口和方法声明。例如:

Set<BluetoothDevice> pairedDevices

<BluetoothDevice>本例中为一个类型参数。使用type参数,编译器确保我们仅将集合与兼容类型的对象一起使用。另一个好处是,我们不需要转换从集合中获得的对象。现在,可以在编译时检测到对象类型错误,而不是在运行时抛出转换异常。

建议阅读:

  1. Oracle泛型教程
  2. 在J2SE 5.0中使用和编程泛型
  3. Java中的泛型-Wiki
  4. Java理论与实践:泛型陷阱
  5. Java泛型常见问题解答
  6. 协方差和自变量
2020-12-03