我的问题是:

search_text.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            ArrayList<Object> GPDMvalue = (ArrayList<Object>) multiSortList.getValue();
            ArrayList<Map<String, Object>> valueList = getDefaultValue(GPDMvalue);
            multiSortList.clear();
            if(getGPDMList().size()==0)return;
            multiSortList.setDataSource(getGPDMList());//new thread 1
            multiSortList.setDefaultOrAddValue(valueList);//new thread 2
        }
    });

当文本变化太快时,线程1或线程2不能完全执行,可能存在一些问题,所以我想像这样添加synchronizedpublic synchronized void modifyText(ModifyEvent e)
这仍然是一种替代方法,它将起作用吗?

最佳答案

添加synchronized关键字不会妨碍覆盖方法(仍被覆盖),因为method's signature保持不变。

有关更多详细信息,请参见JLS-§9.4.1.3

08-04 00:44