Hes*_*sam 1 java android dictionary retrofit2
最简单的问题形式是我有一个集合,我想删除/删除其所有元素value == null。我不希望删除到位(我想获取新的Map,以便我的原始Map是安全的)。
public Map<String, String> ADDITIONAL_QUERY = new HashMap<>();
this.ADDITIONAL_QUERY.put("deviceManufacturer", payload.getManufacturer());
this.ADDITIONAL_QUERY.put("deviceModel", payload.getModel());
this.ADDITIONAL_QUERY.put("source", payload.getSource());
this.ADDITIONAL_QUERY.put("adrIMEI", payload.getIMEI());
this.ADDITIONAL_QUERY.put("adrMEID", payload.getMEID());
this.ADDITIONAL_QUERY.put("adrUDID", payload.getUuid() == null ? null : payload.getUuid().toString());
this.ADDITIONAL_QUERY.put("adrID", payload.getAndroidId());
this.ADDITIONAL_QUERY.put("adrSERIAL", payload.getSerial());
Run Code Online (Sandbox Code Playgroud)
我向ADDITIONAL_QUERY添加了更多元素,具体取决于我稍后要调用的API。
我刚刚将Retrofit库升级到了2.0版。我有@FieldMap Map<String, String> additionalQuery大多数的API(大约100个API)。根据他们的文档意见FieldMap,“在表单编码的请求中命名键/值对。不允许将映射的空值用作键或值。”,如java doc所述(很有趣,他们在网络上的文档说,您可以https://square.github.io/retrofit/2.x/retrofit/index.html?retrofit2/http/class-use/FieldMap.html)。
随着API的调用越来越多,我正在寻找一种开销较小且速度很快的方法。
您可以使用:
map.values().removeAll(Collections.singleton(null));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3254 次 |
| 最近记录: |