你好,我想了解這個方法的簽名:任何人都可以解釋這種方法簽名? <K>和K ...代表什麼?
public <K> Map<K, String> getMulti(Serializer<K> keySerializer, K... keys)
對於下面的代碼塊:
public <K> Map<K, String> getMulti(Serializer<K> keySerializer, K... keys) {
MultigetSliceQuery<K, String, String> q = createMultigetSliceQuery(keyspace, keySerializer, serializer, serializer);
q.setColumnFamily(CF_NAME);
q.setKeys(keys);
q.setColumnNames(COLUMN_NAME);
QueryResult<Rows<K, String, String>> r = q.execute();
Rows<K, String, String> rows = r.get();
Map<K, String> ret = new HashMap<K, String>(keys.length);
for (K k : keys) {
HColumn<String, String> c = rows.getByKey(k).getColumnSlice().getColumnByName(COLUMN_NAME);
if (c != null && c.getValue() != null) {
ret.put(k, c.getValue());
}
}
return ret;
}
我不知道什麼<K>
在方法聲明中表示,或想什麼K...
意思是說。任何人都可以闡明這些嗎?
如果我正在編寫一個需要一個鍵作爲參數傳遞的方法,並且我確切知道該鍵是什麼類的引用,是否需要使用'K'作爲佔位符?例如。 '私人布爾capReached(K鍵)'與'私人布爾capReached(整數鍵)'。在我的情況下,我使用這種方法來限制一個LinkedHashMap的大小。 – Ungeheuer 2016-07-25 18:20:16