我有用於過濾項的接口:NotSerializableException匿名類
public interface KeyValFilter extends Serializable{
public static final long serialVersionUID = 7069537470113689475L;
public boolean acceptKey(String iKey, Iterable<String> iValues);
public boolean acceptValue(String iKey, String value);
}
和包含類型KeyValFilter的成員的類。
public class KeyValFilterCollector extends KeyValCollectorSkeleton {
/**
*
*/
private static final long serialVersionUID = -3364382369044221888L;
KeyValFilter filter;
public KeyValFilterCollector(KeyValFilter filter){
this.filter=filter;
}
當我嘗試啓動KeyValFilterCollector與匿名類實現KeyValFilter:
new KeyValFilterCollector(new KeyValFilter(){
private static final long serialVersionUID = 7069537470113689475L;
public boolean acceptKey(String iKey, Iterable<String> iValues){
for (String value : iValues) {
if (value.startsWith("1:"))
return true;
}
return false;
}
public boolean acceptValue(String iKey, String value){
return value.startsWith("0:");
}
});
我得到一個異常:異常在線程「主要」 java.io.NotSerializableException 我怎麼做匿名類我寫了Serializable?
我將成員過濾器定義爲靜態,並解決了問題。 – Shaharg