如何使用没有返回值的TreeMap.put?

时间:2017-11-08 07:19:09

标签: java android

我已经更新了Android Studio的所有内容,现在我的TreeMap有点......不同?

我不知道我正在使用什么API级别,但似乎无论何时我想调用TreeMap模板的put方法,我都需要为它提供一些返回值的东西。

换句话说,在过去,我可以:

TreeMap<LicenseNumber,Car> carsToStoreInMechnizedLot = new TreeMap<LicenseNumber,Car>();

carsToStoreInMechnizedLot.put("6CAL146","clubCar");

现在我必须:

TreeMap<LicenseNumber,Car> carsToStoreInMechnizedLot = new TreeMap<LicenseNumber,Car>();

Car carReturnVal = carsToStoreInMechnizedLot.put("6CAL146","clubCar");

这很奇怪?特别是如果你认为返回值不代表“成功”或“不成功”,而是树上最后一个元素的值?

我做了一件极其错误的事吗?

2 个答案:

答案 0 :(得分:1)

  

每当我想调用TreeMap模板的put方法时,我   需要提供一些东西才能将值返回

Java并不强制您使用方法调用的返回 但是当您使用Android Studio时,每次构建都会运行lint和IDE检查。

lint和IDE检查的严重程度可能会产生错误警告 他们的目标是改进您的代码。

在许多情况下,这是有道理的。但在其他一些人中,并非如此 在您的情况下,使用Map.put()的返回值很大程度上取决于处理的要求 因此,如果您不需要使用返回的值,则不应遵守此规则,但应禁止此警告或禁用此规则。 有关Improve Your Code with Lint的更多信息。

答案 1 :(得分:0)

TreeMap put方法的签名如下。实际上它在Map界面中。

public V put(K key,
    V value)

如果您不需要使用TreeMap返回的先前值,您可以简单地忽略它,而不是分配给任何变量。