2013-05-14 24 views
0

所以我会从一个方法中获得这些字符串的值,并且我需要将它们合并为一个文件地址,但是我无法像在FILE_PATH_STRING中那样组合字符串。我试图使用concat方法,但它不起作用。 FILE_PATH_STRING永远等于第一个字符串,它是WORLD_PATH在这种情况下我有四个方法的字符串值。如何组合字符串?

public static final String WORLD_PATH = "The World/"; 
public static String CONTINENTS_NAME=""; 
public static String COUNTRY_NAME=""; 
public static String FILE_TYPE=""; 

public static String FILE_PATH_STRING = WORLD_PATH + CONTINENTS_NAME + COUNTRY_NAME + FILE_TYPE; 
public static File FILE_PATH = new File(FILE_PATH_STRING); 

它应该工作一样,当我在地图上点击,方法区域的名称返回给我,我的遗嘱将它们存储在那些静态字符串。我试过调试。所有的字符串都有一个值,它们是正确的。但FILE_PATH_STRING只等于我放在那里的第一个字符串。 后,我运行程序, CONTINENTS_NAME =亚洲 COUNTRY_NAME应等于CONTINENTS_NAME,因为这是我如何设置我的文件地址 FILE_PATH =巴纽这是负荷图方法

+7

你确定这不是因为其他字符串是空的吗? – 2013-05-14 06:25:52

+1

你可以发布代码,你尝试concat等? – 2013-05-14 06:26:12

+2

欢迎来到SO.给出一个示例输出,输出应该如何。以便SO社区将能够帮助你:)。 – 2013-05-14 06:27:03

回答

1

我很好奇,你怎么“有来自一个方法的四个字符串值“ - 你能指导我们吗?因为如果是这样的事情:

getStrings(WORLD_PATH, CONTINENTS_NAME, COUNTRY_NAME, FILE_TYPE); 

那么这就是问题所在 - 功能getStrings()不能修改通过这些字符串

我只是在制作过程中乱撞,因为你没有。给出足够的信息。

你可以这样做:

String path = getWorldPath() + getContinent() + getCountry() + getFileType(); 

也就是说,实现四个独立的方法来获取路径的四个独立的部分?

否则,你就必须定义一个类型,可以在同一时间返回所有的四根弦,或在容器返回他们像一个数组:

void test() 
{ 
    String[] pathParts = getStrings(); 
    FILE_PATH_STRING = pathParts[0] + pathParts[1] + pathParts[2] + pathParts[3]; 
} 

String[] getStrings() 
{ 
    String[] ret = new String[4]; 
    ret[0] = "The world"; 
    ret[1] = "South America"; 
    ret[2] = "Chile"; 
    ret[3] = ".txt"; 
    return ret; 
} 

当然,如果你打算做连接字符串,你可以在getStrings()函数中做到这一点。

+0

hmmmmm然后我将需要4获得方法和4设置方法,这听起来完成 – user2334400 2013-05-14 06:36:11

+0

我的方法不返回字符串。我将这些值存储在这些静态变量当我得到它,方法是无效的 – user2334400 2013-05-14 06:37:53

+0

请发布代码?另外,你应该尽量避免使用静态变量。只有极少数情况下,你真的需要*一个静态变量。 – 2013-05-14 06:42:58

相关问题