如何在java中获取内部类的值?

时间:2015-02-24 02:22:57

标签: java inner-classes

我想根据内部类中的某些值返回一些值:

public boolean rename(File file) {
    new OnResultListener() {
        @Override
        public void onResult(AsyncResult<CharSequence> result) {
            // some codes

            // Here is what I want to do
            if (succeed) {
                // rename return true
            } else {
                // rename return false
            }
        }
    }
}

2 个答案:

答案 0 :(得分:-1)

你不能,也没有意义。这是两个不同的函数,可以很好地在不同的线程上调用。如果你坚持要返回一些东西,你必须做的是“重命名”函数本身应该接收一个回调作为一个成功调用的参数。也就是说,如果下游调用是异步的,那么调用它的那个也应该是。

答案 1 :(得分:-1)

另一种方法是让一个调用函数(&#34;重命名&#34;在这种情况下,假设它调用通知OnResultListener的函数)等待一些互斥锁。然后,在接收结果时的嵌套方法中,设置一些标志然后调用notify()来唤醒等待持有的线程。