我需要在不同的 class 中使用在 class 中的方法中创建的多个字符串

I need to use multiple Strings created in a method inside a class in a different class

所以基本上我在 class 中有一个方法,让我们说 Class A,当你给它一个字符串时, 使用 Split,创建多个字符串。这个方法应该是这样的:

Public void xxxx(String entry){

     String[] Parts=entry.split(" ");
     String part1=Parts[0]; 
     String part2=Parts[1];

所以现在,我想在不同 class 的 if(....) 中使用这两个字符串,我该怎么做? 我需要每个部分(有超过 2 个)在不同的情况下,有时需要在一起,所以我该如何使用它们?谢谢

根据您的描述,这些 class 和方法如何协同工作并不清楚。但是由于您的 xxxx 方法所做的只是拆分字符串,因此最好将其设为静态实用程序 class.

那你可以这样做。

class MyClass {
     // Note that this method doesn't really add any benefit to
     // simply using String.split().
     public static String[] xxxx(String entry){
        String[] parts=entry.split(" ");
        return parts;
     }
}

class OtherClass {
    public void someMethod(String str) {
        String[] p = MyClass.xxxx(str);
        System.out.println(p[0]);
        System.out.println(p[1]);
    }
}

还有很多其他的可能性。这完全取决于您希望方法和 classes 如何相互交互。

有几个选项:

1) Return 一个字符串数组。 (如果这就是您所做的一切,则不是非常有用的方法。)

public String[] xxxx(String entry) {
  String[] Parts=entry.split(" ");
  return parts;
}

2) Return 一个对象的实例,它提供对各个字符串部分的访问。

public class PartHolder{
  private ArrayList<String> parts = new ArrayList<>();

    public int getPartsCount() {
        return parts.size();
    }

    public String getPart(int x) {
        return parts.get(x);
    }

    public void addPart(String part) {
        parts.add(part);
    }

    public void addParts(String[] partsToAdd) {
        parts.addAll(Arrays.asList(partsToAdd));
    }
}
...
public String[] xxxx(String entry) {
  String[] Parts=entry.split(" ");
  return parts;
}

3) 通过全局可访问(静态)方法或属性使字符串部分可访问。这种方法的实用性有限,因为在处理多线程应用程序时会增加复杂性。

public static String[] GLOBAL_PARTS;
public void xxxx(String entry) {
  GLOBAL_PARTS = entry.split(" ");
}