我正在用Eclipse Juno编写我的代码,我正在使用哈希表来设置我的dataImportObject,具体取决于其中的条目.任何人都可以告诉我这ht是错的:
我的hashTable是否<String, Integer>配对
(ht.containsKey("DEVICE_ADDRESS")) ?
dataImportObject.setDevice_Address(dataitems[ht.get("DEVICE_ADDRESS")]) :
dataImportObject.setDevice_Address("");
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 16
有谁能告诉我这有什么不对
两件事情:
set方法具有void返回类型,因此它们不能在条件运算符中显示为操作数三种选择:
使用if声明:
if (ht.containsKey("DEVICE_ADDRESS")) {
dataImportObject.setDevice_Address(dataitems[ht.get("DEVICE_ADDRESS")]));
} else {
dataImportObject.setDevice_Address("");
}
Run Code Online (Sandbox Code Playgroud)使用条件运算符内部的setDevice_Address通话,或更清楚,事先:
String address = ht.containsKey("DEVICE_ADDRESS")
? dataitems[ht.get("DEVICE_ADDRESS")] : "";
dataImportObject.setDevice_Address(address);
Run Code Online (Sandbox Code Playgroud)如果您知道哈希表没有任何空值,则可以避免双重查找:
Integer index = ht.get("DEVICE_ADDRESS");
String address = index == null ? "" : dataitems[index];
dataImportObject.setDevice_Address(address);
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
572 次 |
| 最近记录: |