我有这个方法返回一个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);
}
}
我无法弄清楚这一点!请帮帮我。
非常感谢!
答案 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);