不像C或C++,如果Java中的任何一个对象(A,B)都为null ,o = objectA.objectB.objectC则抛出一个NullPointerException.在Java 1.7中,我无法执行任何像lambda表达式这样的命令来运行带try-catch保护的命令.
那么,你将如何完美地缓存异常呢?
我的部分代码如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final NetDataHandler handler = new NetDataHandler();
marketList = (ListView)findViewById(R.id.list);
marketList.setAdapter(adapter);
new Thread(new Runnable() {
@Override
public void run() {
HTTPUtils.getJsonData(HTTPUtils.TARGET_URL, handler);
}
}).run();
Run Code Online (Sandbox Code Playgroud)
这些代码只会在我关闭严格模式时运行.我已经阅读了有关使用AsyncTask来避免这种情况的文档.它说我不应该在主线程中进行I/O操作,但我想我已经创建了一个新的线.我的问题是,与主线程相比,这个新的Thread()不是一个不同的线程吗?