【问题标题】:i have four string values from method. how to combine strings?我有四个来自方法的字符串值。如何组合字符串?
【发布时间】:2013-05-14 06:22:49
【问题描述】:

所以我将从方法中获取这些字符串的值,并且我需要将它们组合为文件地址,但我不能像在 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 = .png 这是加载地图的方法

【问题讨论】:

  • 你确定不是因为其他字符串是空的?
  • 你能把你尝试concat等的代码贴出来吗?
  • 欢迎来到SO。给出一个示例输出,输出应该如何。以便 SO 社区能够帮助您:)。
  • 嗨@BobbyAlexander,在问这类问题之前请先看看标签
  • @anto 我相信该标签当时不存在。

标签: java string input


【解决方案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() 函数中执行此操作。

【讨论】:

  • hmmmmm 然后我需要 4 个 get 方法和 4 个 set 方法,听起来很完整
  • 我的方法不返回字符串。当我得到这些值时,我将这些值存储在那些静态变量中,该方法是无效的
  • 请张贴代码?此外,您应该尽量避免使用静态变量。只有极少数情况下您确实应该需要静态变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-17
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
相关资源
最近更新 更多