import org.json.*;
import org.json.JSONObject;
import java.util.Iterator;
/**
* Created by nubuntu on 10/06/2015.
*/
public class Object {
private Callback callback;
static void each(JSONObject json,Callback callback){
Iterator<?> keys = json.keys();
while(keys.hasNext()) {
String key = (String)keys.next();
try {
callback.run(key,json.get(key));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
static void each(JSONArray json,Callback callback){
for(int i=0;i<json.length();i++){
JSONObject obj = null;
try {
obj = json.getJSONObject(i);
} catch (JSONException e) {
e.printStackTrace();
}
callback.run(obj);
}
}
public interface Callback{
public void run(String key, java.lang.Object o);
}
// Error : Duplicate Class
public interface Callback{
public void run(java.lang.Object o);
}
}
我想实现“每个”像jQuery的的JSONObject & JSONArray,也许许多其他对象后,使用 例如:Java动态类型如何?
JSONObject jsonobject= new JSONObject("hair":"black","eye":"blue");
Object.each(jsonobject,new Object.Callback() {
@Override
public void run(String key, Object o) {
Log.d(key,o.toString());
}
});
但是当我想创建第二个回调,它无法复制像以上静态每种方法, 那么如何处理每个动态类型?
谢谢,你能建议我链接学习Lamda表达式吗? –
请参阅[Lambda表达式](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html)。有通常的标准接口。 'BiConsumer'和'Consumer