相关疑难解决方法(0)

使用Java中的分隔符(与split相反)连接数组元素的快速简便方法

请参阅相关的.NET问题

我正在寻找一种快速简便的方法来完成与分裂完全相反的方式,以便它 ["a","b","c"]能够成为"a,b,c"

迭代数组需要添加条件(如果这不是最后一个元素,添加分隔符)或使用子字符串删除最后一个分隔符.

我确信有一种经过认证的有效方法(Apache Commons?)

您更喜欢在项目中做到这一点?

java arrays string

432
推荐指数
13
解决办法
47万
查看次数

Java等价的C#String.Format()和String.Join()

我知道这是一个新手问题,但在Java中C#的字符串操作是否相同?

具体来说,我正在谈论String.FormatString.Join.

c# java string

110
推荐指数
6
解决办法
7万
查看次数

Java:使用分隔符连接基元数组

假设,我有一个数组:

int[] arr = new int[] {1, 2, 3, 4, 5, 6, 7};
Run Code Online (Sandbox Code Playgroud)

我需要使用分隔符连接其元素,例如," - "因此我应该得到这样的字符串:

"1 - 2 - 3 - 4 - 5 - 6 - 7"
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

PS:是的,我知道这个这个帖子,但它的解决方案不适用于一系列原语.

java arrays join separator

25
推荐指数
4
解决办法
3万
查看次数

用Java加入字符串集合的首选成语

给定一个字符串集合,如何在不使用外部库的情况下将它们加入普通Java中?

鉴于以下变量:

Collection<String> data = Arrays.asList("Snap", "Crackle", "Pop");
String separator = ", ";
String joined; // let's create this, shall we?
Run Code Online (Sandbox Code Playgroud)

这就是我在Guava中的表现:

joined = Joiner.on(separator).join(data);
Run Code Online (Sandbox Code Playgroud)

Apache Commons/Lang中:

joined = StringUtils.join(data, separator);
Run Code Online (Sandbox Code Playgroud)

但是在简单的Java中,真的没有比这更好的方法吗?

StringBuilder sb = new StringBuilder();
for(String item : data){
    if(sb.length()>0)sb.append(separator);
    sb.append(item);
}
joined = sb.toString();
Run Code Online (Sandbox Code Playgroud)

java string collections

21
推荐指数
4
解决办法
7873
查看次数

通过Person对象的getName()属性将Person对象列表转换为单独的String

XXXUtils我可以做的地方

String s = XXXUtils.join(aList, "name", ",");
Run Code Online (Sandbox Code Playgroud)

哪个"name"是来自对象的JavaBeans属性aList.

我发现只有StringUtils具有join的方法,但它只是一个变换List<String>成一个分离String.

就像是

StringUtils.join(BeanUtils.getArrayProperty(aList, "name"), ",")
Run Code Online (Sandbox Code Playgroud)

这很快,值得使用.BeanUtils会抛出2个已检查的异常,所以我不喜欢它.

java apache-commons separator apache-stringutils apache-commons-collection

8
推荐指数
2
解决办法
3972
查看次数

Java打印整个数组,带有","符号?

System.out.print("Please select a game: ");
for (String s : gamesArray) {       
    System.out.print(s + ", "); 
}
Run Code Online (Sandbox Code Playgroud)

输出:

Please select a game: spin, tof, Press any key to exit...

我除外的输出:

Please select a game: spin, tof
Press any key to exit...

为什么在最后一个数组项后添加另一个','?我该如何预防呢?

java arrays

4
推荐指数
2
解决办法
258
查看次数

杰克逊:是否有可能将父对象的属性包含在嵌套对象中?

我正在使用Jackson来序列化/反序列化JSON对象.

我有一个Study对象的以下JSON :

{
    "studyId": 324,
    "patientId": 12,
    "patient": {
        "name": "John",
        "lastName": "Doe"
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:不幸的是,JSON结构无法修改.这是问题的一部分.

我想将对象反序列化为以下类:

public class Study {
    Integer studyId;
    Patient patient;
}
Run Code Online (Sandbox Code Playgroud)

public class Patient {
    Integer patientId;
    String name;
    String lastName;
}
Run Code Online (Sandbox Code Playgroud)

是否可以patientIdPatient对象中包含属性?

我能够反序列化patient对象到Patient类(对应namelastName性质),但不能包含patientId属性.

有任何想法吗?

json jackson deserialization

3
推荐指数
1
解决办法
4657
查看次数

Java - 将数组转换为句子

我有以下方法:

public static void sentence(String sen)
{

    String[] array = sen.split(" ");
    String[] five = Arrays.copyOfRange(Array, 0, 5);

    if (Array.length < 6)
        System.out.println(sen);
    else
        System.out.print(Arrays.toString(five));
}
Run Code Online (Sandbox Code Playgroud)

作为一个论点,我输入一个句子.如果句子超过5个单词,我只想打印出前5个单词.发生的事情是当sen> 5时的打印输出看起来像:

[word1,word2,word3,word4,word5]

我希望它看起来像是:

word1 word2 word3 word4 word5

关于如何将数组转换为正常句子格式的任何建议,如后一示例所示?

java arrays string

3
推荐指数
1
解决办法
1557
查看次数

从java中的列表构建分隔字符串的最佳方法

我有一个对象列表,每个对象都有一个字符串属性.例如,我有一个List<Person>,每个Person都有一个firstName属性.我想构建一个逗号分隔的引用字符串,如下所示:

'James', 'Lily', 'Michael'
Run Code Online (Sandbox Code Playgroud)

考虑到java似乎没有连接方法(此外,这比简单的分隔字符串更复杂),最简单的方法是什么?我一直在尝试编写这个代码,但我的代码变得非常混乱,我可以使用一些新的输入.

java string join delimiter

2
推荐指数
1
解决办法
8034
查看次数

EditText输入限制500字?

我有一个EditText给用户评论.现在我想输入限制将是500字.这意味着用户最多可以写500条评论.我该如何实现呢?请帮我.

android

2
推荐指数
1
解决办法
1673
查看次数

Java ArrayList&lt;String&gt; 到单个字符串而不使用循环

我有一个ArrayList<String>定期添加的。我想要做的是将整个 ArrayList 转换为 aString而不进行循环。谁能告诉我可以不使用循环吗?

编辑:所以我们找到了一些解决方案,比如

list.stream().collect(Collectors.joining());
Run Code Online (Sandbox Code Playgroud)

或者

String result = String.join(",", list);
Run Code Online (Sandbox Code Playgroud)

或其他一些。现在只是为了获取知识,我提出了一个问题,哪种方式是编译器的最佳方式?

java string arraylist string-concatenation

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