【发布时间】:2016-08-17 13:37:04
【问题描述】:
您好,我试图在 HashMap 中保存一个对象,如果它不存在,而不是它存在,我想用新数据控制它的值。如果数据发生变化而不是我想做的事情。别的。但是每当我尝试比较新数据和哈希值时,我看到它们每次都是相同的。我该如何处理这个问题。有代码:
BluetoothLeDevice deviceLe;
private Map<String, byte[]> mMacMap;
byte [] integer0 =new byte[4];
byte[] tempInteger0=new byte[4];
public void addSensor(String macId, BluetoothLeDevice deviceLe) {
byte [] addSensorrecord=deviceLe.getScanRecord();
int j=0;
for(int i=15;i<19;i++)
{
integer0 [j]=addSensorrecord[i];
j++;
}
if (mMacMap.containsKey(macId)) {
tempInteger0 = mMacMap.get(macId);
if(!integer0 .equals(tempInteger0))
{
mMacMap.remove(macId);
mMacMap.put(macId, integer0 );
new SendBLEData().execute(deviceLe);
}
} else {
final byte [] LocalInteger0=new byte[4];
int t=0;
for(int i=15;i<19;i++)
{
LocalInteger0[t]=addSensorrecord[i];
t++;
}
mMacMap.put(macId, LocalInteger0);
new SendBLEData().execute(deviceLe);
}
}
【问题讨论】:
-
提示:阅读 java 编码风格指南。变量名以小写字母开头。你应该使用能够说明变量意图的名称;所以...... Integer0 数组到底是什么?您会发现,仅凭您编写代码的方式就会到处造成混乱。
-
那么:为了理解您的代码,我们需要查看您正在使用的变量的声明。
-
添加了声明
-
tempInteger0 仍然丢失。并记录在案:转到帮助中心以了解如何编写“代码不工作”问题。提示:不是这样的。
标签: java android arrays hashmap