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

时间:2019-10-13 01:31:18

标签: java class methods split void

所以基本上我在一个类中有一个方法,可以说是A类,当您给它一个String时, 使用拆分创建多个字符串。这种方法将是这样的:

Public void xxxx(String entry){

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

所以现在,我想在不同类的if(....)中使用这两个字符串,我该怎么做? 我需要每个部分(有两个以上)不同的(有时甚至是一起),如何使用它们?谢谢

2 个答案:

答案 0 :(得分:0)

从您的描述中还不清楚这些类和方法如何协同工作。但是,由于您的所有xxxx方法都是拆分字符串,因此最好将其设置为静态实用工具类。

然后您可以执行以下操作。

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]);
    }
}

还有许多其他可能性。这完全取决于您希望方法和类之间如何交互。

答案 1 :(得分:0)

有几种选择:

1)返回一个String数组。 (如果这只是您要做的事情,那不是非常有用的方法。)

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

2)返回一个对象的实例,该对象提供对String各个部分的访问。

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(" ");
}