我需要在不同的 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(" ");
}
所以基本上我在 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(" ");
}