Я пытаюсь узнать об утверждениях Java. У меня есть следующий метод, и я хочу добавить утверждение после условия. Я не уверен, что то, что я сделал, правильно, может кто-нибудь объяснить мне и сказать, правильно ли это, а если нет, то почему?
chain
- это список блоков, составляющих цепочку, где каждый блок представлен массивом байтов.
boolean addBlock (byte[] block) {
// Prepare for correctness check
byte[] last = getLast();
byte[] last_data_hash = new byte[hash_size];
byte[] current_link_hash = new byte[hash_size];
for (int i=0; i < hash_size; i++) {
last_data_hash[i] = last[hash_size+i];
current_link_hash[i] = block[i];
}
if (Arrays.equals(current_link_hash,last_data_hash)) {
// if it is correctly linked, add it
chain.add(block.clone());
return true;
} else // if it is not correctly linked, don't add it
return false;
assert (chain == null) : "chain list: " + chain ;
}
РЕДАКТИРОВАТЬ:
boolean addBlock (byte[] block) {
// Prepare for correctness check
byte[] last = getLast();
byte[] last_data_hash = new byte[hash_size];
byte[] current_link_hash = new byte[hash_size];
for (int i=0; i < hash_size; i++) {
last_data_hash[i] = last[hash_size+i];
current_link_hash[i] = block[i];
}
if (Arrays.equals(current_link_hash,last_data_hash)) {
// if it is correctly linked, add it
chain.add(block.clone());
**assert (chain == null) : "chain list: " + chain ;**
return true;
} else // if it is not correctly linked, don't add it
return false;
}