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的一部分,那就没有意义了.
请参阅相关的.NET问题
我正在寻找一种快速简便的方法来完成与分裂完全相反的方式,以便它 ["a","b","c"]
能够成为"a,b,c"
迭代数组需要添加条件(如果这不是最后一个元素,添加分隔符)或使用子字符串删除最后一个分隔符.
我确信有一种经过认证的有效方法(Apache Commons?)
您更喜欢在项目中做到这一点?
有没有办法确定循环是否最后一次迭代.我的代码看起来像这样:
int[] array = {1, 2, 3...};
StringBuilder builder = new StringBuilder();
for(int i : array)
{
builder.append("" + i);
if(!lastiteration)
builder.append(",");
}
Run Code Online (Sandbox Code Playgroud)
现在问题是我不想在最后一次迭代中附加逗号.现在有一种方法可以确定它是最后一次迭代还是我坚持使用for循环或使用外部计数器来跟踪.
我正在寻找一种方法将字符串数组合成一个分隔的字符串.与split()相反.
在我尝试编写自己的论坛之前想要问论坛(因为JDK拥有一切)
我有几个Set<String>
s,并希望将每个转换为单个String
,其中原始的每个元素Set
由空格""分隔.一个天真的第一种方法就是这样做
Set<String> set_1;
Set<String> set_2;
StringBuilder builder = new StringBuilder();
for (String str : set_1) {
builder.append(str).append(" ");
}
this.string_1 = builder.toString();
builder = new StringBuilder();
for (String str : set_2) {
builder.append(str).append(" ");
}
this.string_2 = builder.toString();
Run Code Online (Sandbox Code Playgroud)
谁能想到更快,更漂亮或更有效的方法呢?
.NET中的String.Format(可能只是VB.NET)将{0},{1},...转换为确定的String,例如:
Dim St As String = "Test: {0}, {1}"
Console.WriteLine(String.Format(St, "Text1", "Text2"))
Run Code Online (Sandbox Code Playgroud)
我试图在Google和StackOverflows中搜索,但它们都返回数字字符串格式.
我正在尝试使用任意长度的String []并将其打印到String,最好使用字段分隔符.现在我有:
String[] start = {"first", "second", "third"}; //[] to convert
String cC = "";
String finish = ""; // Final String
String cC1 = "";
{
for (int i = 0; i < puts.length; i++) {
cC = puts[i] + ", ";
cC1 = (finish + cC);
finish = cC1;
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,它只返回"第二"值.如何使其正确连接值?
另外,我可以通过使用简化代码finish += cC
吗?谢谢.
这是一个简单的java编码问题.我有一个String
[Say "hello" "how" "are" "you?"
] 列表.我需要-
在列表的每个元素之间插入一个分隔符[ ],以便输出hello-how-are-you?
一种简单的方法如下:
private static String addDelim(List<String> a)
{
String s = "";
for(int i=0; i<a.size(); i++)
{
if(i != 0) // don't add if first element
{
s += "-";
}
s += a.get(i);
}
return s;
}
Run Code Online (Sandbox Code Playgroud)
这样做有什么优雅的方式吗?
java ×9
string ×4
arrays ×2
join ×2
android ×1
equivalence ×1
equivalent ×1
for-loop ×1
foreach ×1
list ×1
optimization ×1
php ×1
set ×1
split ×1
whitespace ×1