相关疑难解决方法(0)

在Java中构建一系列分隔项的最佳方法是什么?

在Java应用程序中工作时,我最近需要组装一个以逗号分隔的值列表,以传递给另一个Web服务,而无需事先知道有多少元素.我能想出的最好的东西是这样的:

public String appendWithDelimiter( String original, String addition, String delimiter ) {
    if ( original.equals( "" ) ) {
        return addition;
    } else {
        return original + delimiter + addition;
    }
}

String parameterString = "";
if ( condition ) parameterString = appendWithDelimiter( parameterString, "elementName", "," );
if ( anotherCondition ) parameterString = appendWithDelimiter( parameterString, "anotherElementName", "," );
Run Code Online (Sandbox Code Playgroud)

我意识到这不是特别有效,因为在整个地方都会创建字符串,但我的目的是为了清晰而不是优化.

在Ruby中,我可以做这样的事情,感觉更优雅:

parameterArray = [];
parameterArray << "elementName" if condition;
parameterArray << "anotherElementName" if anotherCondition;
parameterString = parameterArray.join(",");
Run Code Online (Sandbox Code Playgroud)

但由于Java缺少连接命令,我无法弄清楚任何等价物.

那么,在Java中执行此操作的最佳方法是什么?

java string

305
推荐指数
12
解决办法
25万
查看次数

连接String对象列表的最佳方法是什么?

连接String对象列表的最佳方法是什么?我想这样做:

List<String> sList = new ArrayList<String>();

// add elements

if (sList != null)
{
    String listString = sList.toString();
    listString = listString.subString(1, listString.length() - 1);
}
Run Code Online (Sandbox Code Playgroud)

我不知何故发现这比使用StringBuilder/StringBuffer方法更整洁.

有什么想法/意见吗?

java string list

141
推荐指数
11
解决办法
21万
查看次数

从使用stringbuilder构建的字符串中删除最后一个字符的最佳方法

我有以下内容

data.AppendFormat("{0},",dataToAppend);
Run Code Online (Sandbox Code Playgroud)

这个问题是我在循环中使用它并且会有一个试用逗号.删除尾随逗号的最佳方法是什么?

我是否必须将数据更改为子串的字符串呢?

c# stringbuilder

77
推荐指数
5
解决办法
8万
查看次数

从Java中的多个字符串构建标记列表的有效方法

我正在寻找一种有效的方法来获取从多个字符串中提取的字符串标记列表(例如,使用空格分隔符).

例:

String s1 = "My mom cook everyday";
String s2 = "I eat everyday";
String s3 = "Am I fat?";  
LinkedList<String> tokens = new LinkedList<String>();   
//any code to efficiently get the tokens

//final result is tokens  make of a list of the following tokens:
//"My", "mom", "cook", "everyday", "I", "eat", "everyday", "Am", "I", "fat?".
Run Code Online (Sandbox Code Playgroud)

现在

  1. 我不确定这LinkedList是最有效的集合类(Apache Commons,Guava,他们可以帮忙吗?)!
  2. 我打算StringUtils从Apache Commons 使用,但该split方法返回一个数组!所以,我应该从一个for循环中提取由split返回的String对象数组中的字符串.这是有效的:我不知道,split创建一个阵列!
  3. Splitter从番石榴那里读到了,但这篇文章指出StringUtils在实践中更好.
  4. 怎么样ScannerJava.util …

java string tokenize apache-commons guava

0
推荐指数
1
解决办法
374
查看次数

如何使用foreach循环在列表中的短语之间添加定界符?

我有以下代码:

foreach (var node in nodes)
{
    result += node.InnerText;
}
Run Code Online (Sandbox Code Playgroud)

InnerText仅仅是1-2个字符,永远不会包含#符号。节点中可以有一个或多个node值。

我如何分隔每个元素,例如,如果这些是node的值:

"ab" and "cd"  
Run Code Online (Sandbox Code Playgroud)

结果将是ab#cd

我知道我可以添加#值,但是最后一个字符呢。如果我只是简单地添加,#那么我会得到ab#cd#不是我想要的。

c# string foreach concatenation delimiter

0
推荐指数
1
解决办法
58
查看次数