在其他 class 中使用数组输出

use array output in other class

美好的一天!

我有一个方法returns我的报告名称数组

System.out.println(bc[i].getDefaultName().getValue() 

我想在其他 class 中使用数组输出,我如何需要在其他 class 中链接我的数组中的方法输出?

方法是:

public class ReoprtSearch {
    public void executeTasks() {
        PropEnum props[] = new PropEnum[] { PropEnum.searchPath, PropEnum.defaultName};
        BaseClass bc[] = null;
        String searchPath = "//report";
    //searchPath for folder - //folder, report - //report, folder and report - //folder | //report 

        try {
            SearchPathMultipleObject spMulti = new SearchPathMultipleObject(searchPath);
            bc = cmService.query(spMulti, props, new Sort[] {}, new QueryOptions());
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        if (bc != null) {
            for (int i = 0; i < bc.length; i++) {

                System.out.println(bc[i].getDefaultName().getValue();
            }
        }
    }
}

array in what i want put array looks like:

String [] folders = 

我的尝试是这样的:

ReoprtSearch search = new ReoprtSearch();    
String [] folders = {search.executeTasks()};

Returns 我出错了:无法从 void 转换为 string

给我一个解释,以了解我如何与其他 class 的方法输出相关联。

谢谢

问题是您的 executeTasks 方法实际上没有 return 任何东西(这就是它 void 的原因),只是打印到标准输出。不要打印,而是将名称添加到数组,然后 return 它。像这样:

public class ReoprtSearch {
    public String[] executeTasks() {
        PropEnum props[] = new PropEnum[] { PropEnum.searchPath, PropEnum.defaultName};
        BaseClass bc[] = null;

        String searchPath = "//report";
    //searchPath for folder - //folder, report - //report, folder and report - //folder | //report 

        try {
            SearchPathMultipleObject spMulti = new SearchPathMultipleObject(searchPath);
            bc = cmService.query(spMulti, props, new Sort[] {}, new QueryOptions());
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

        if (bc != null) {
            String results[] = new String[bc.length];
            for (int i = 0; i < bc.length; i++) {
                results[i] = bc[i].getDefaultName().getValue();
            }
            return results;
        }
        return null;
    }
}