JavaScript有 Array.join()
js>["Bill","Bob","Steve"].join(" and ")
Bill and Bob and Steve
Run Code Online (Sandbox Code Playgroud)
Java有这样的东西吗?我知道我可以用StringBuilder自己解决一些问题:
static public String join(List<String> list, String conjunction)
{
StringBuilder sb = new StringBuilder();
boolean first = true;
for (String item : list)
{
if (first)
first = false;
else
sb.append(conjunction);
sb.append(item);
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
...但是,如果像这样的东西已经是JDK的一部分,那就没有意义了.
我有一个对象列表,每个对象都有一个字符串属性.例如,我有一个List<Person>,每个Person都有一个firstName属性.我想构建一个逗号分隔的引用字符串,如下所示:
'James', 'Lily', 'Michael'
Run Code Online (Sandbox Code Playgroud)
考虑到java似乎没有连接方法(此外,这比简单的分隔字符串更复杂),最简单的方法是什么?我一直在尝试编写这个代码,但我的代码变得非常混乱,我可以使用一些新的输入.
这非常简单,但我看到了许多变种,我在其他地方看不到自己的做法.鉴于:
Iterable<String> strings;
Run Code Online (Sandbox Code Playgroud)
创建一个包含所有字符串的String,以逗号分隔.
我有String ArrayList有一些元素,但我需要将它转换为字符串,每个元素与其他元素分开 - 这是arrayList
List<String> items = new ArrayList<String>();
items.add("a");
items.add("b");
items.add("c");
:
:
Run Code Online (Sandbox Code Playgroud)
我需要得到这样的字符串
"ABC -..."
我正在尝试做类似的事情:
{"semaforo":"icbc"},{"semaforo":"pepito"}
Run Code Online (Sandbox Code Playgroud)
我有以下代码:
for (Iterator it = semaforosMiddleware.iterator(); it.hasNext();) {
KeyMapMediciones semaforoMiddleware = (KeyMapMediciones) it.next();
jsonFamilias.append("{\"semaforo\":\"" + semaforoMiddleware.getAplicacion() + "\"}");
if (it.hasNext()) {
jsonFamilias.append(",");
}
}
Run Code Online (Sandbox Code Playgroud)
但我输出如下:
{"semaforo":"icbc"},{"semaforo":"pepito"},
Run Code Online (Sandbox Code Playgroud)
我不希望最后一个元素后面有最后一个逗号(",").我能做什么?
在Java中,如果要通过char或String拆分String,可以通过split方法执行此操作,如下所示:
String[] stringWords = myString.split(" ");
Run Code Online (Sandbox Code Playgroud)
但是,假设我现在想要使用stringWords中的字符串创建一个新的String,使用*它们之间的字符串.有没有for/while指令可以做任何解决方案吗?
这是一个明显的例子:
String myString = "This is how the string should be";
String iWant = "This*is*how*the*string*should*be";
Run Code Online (Sandbox Code Playgroud)
有人让我更清楚为什么我不想只使用replace()函数.我不想仅仅因为字符串数组的内容(我的示例中的数组stringWords)改变了它的内容.
这是一个例子:
String myString = "This is a string i wrote"
String[] stringWords = myString.split(" ");
myAlgorithmFucntion(stringWords);
Run Code Online (Sandbox Code Playgroud)
以下是最终字符串更改的示例:
String iWant = "This*is*something*i*wrote*and*i*don't*want*to*do*it*anymore";
Run Code Online (Sandbox Code Playgroud)