如何在方法和类之间传递ArrayList?

时间:2016-05-11 07:00:30

标签: java arrays string arraylist opennlp

我有这个方法返回一个arrayList标记:

public static String[] Tokenize(String input) throws InvalidFormatException, IOException {
    InputStream is = new FileInputStream("en-token.bin");    
    TokenizerModel model = new TokenizerModel(is);   
    Tokenizer tokenizer = new TokenizerME(model);    
    String tokens[] = tokenizer.tokenize(input);     
    for (String a : tokens)
        System.out.println(a);   
    is.close();
    return tokens;
}

我希望这些令牌能用于另一种方法:

public static void findName(String[] input) throws IOException {
    InputStream is = new FileInputStream("en-ner-person.bin");   
    TokenNameFinderModel model = new TokenNameFinderModel(is);
    is.close();  
    NameFinderME nameFinder = new NameFinderME(model);   
    Span nameSpans[] = nameFinder.find(input);   
    for(Span s: nameSpans)
        System.out.println(s.toString());           
}

另外,我如何在另一个类中使用这个标记arrayList,比如

public class Main{
    public static void main( String[] args) throws Exception
    {
        Anotherclass.Tokenize(input);
        Anotherclass.findName(tokens);

    }
}

我无法弄清楚这一点!请帮帮我。

非常感谢!

3 个答案:

答案 0 :(得分:1)

请使用:

Anotherclass.findName(Anotherclass.Tokenize(input));

答案 1 :(得分:1)

您必须将第一种方法结果重新用于第二种方法。

public class Main{
     public static void main( String[] args) throws Exception
     {
         String[] tokens = Anotherclass.Tokenize(input);
         Anotherclass.findName(tokens);

     }
}

您仍需要确定input变量的来源。

答案 2 :(得分:0)

您创建了静态方法,因此您可以按类名称调用这些方法,如

String[] SAMPLEARRAY = YOURCLASSNAME.Tokenize(String_ARRAY);