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

问题描述 投票:0回答:2

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

Public void xxxx(String entry){

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

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

java class methods split void
2个回答
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]);
    }
}

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


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(" ");
}
© www.soinside.com 2019 - 2024. All rights reserved.