2015-03-31 97 views
-1

我试图在static void方法中用3个空字符串初始化一个字符串数组。然后我在另一个static String[]方法中制作string array的副本。在一个方法中初始化一个对象,并用另一种方法创建它的一个副本

我已经尝试了几种方法来做到这一点,但是最好的方法是什么?

public static void createEmptyStrings() { 
     String[] str = new String[]{"", "", ""}; 
} 

public static String[] copyStrings() { 
// return an empty string 
} 
+4

显示您尝试与您遇到的问题一起。 – Tarik 2015-03-31 02:55:12

+0

为什么要使数组的副本填充空字符串?简单地创建一个新的:'new String [] {“”,“”,“”}'。空字符串实例将被重用。 – 2015-03-31 02:55:25

+0

逻辑是我将该方法放到一个循环中并且每次都初始化字符串。 – 2015-03-31 04:08:14

回答

0

你可以做这样的事情:

public static String[] getStrings(){ 
    String[] strings = {"", "", ""}; 
    return strings 
} 

public static String[] copyStrings(String[] stringArray){ 
    return stringArray.clone(); 
} 

// Sample Usage 
String[] originalStrings = getStrings(); 
String[] copiedStrings = copyStrings(originalStrings); 

.clone()方法是在Java中非常有帮助创建一个对象的副本,而不是仅仅引用它,很多人不小心做。

如果你想在数组中有3位是空的,而不是充满“”比变线两到:

public String[] strings = new String[3]; 
+0

但我需要初始化的第一部分是在一个静态无效的方法,因为我需要多次调用它 – 2015-03-31 03:22:30

+0

@thecoder我这样 – 2015-03-31 03:30:18

+0

@thecoder它工作吗? – 2015-03-31 04:43:34

相关问题