当前位置: 首页 > 知识库问答 >
问题:

Kotlin-如何正确连接字符串

濮金鑫
2023-03-14

一个非常基本的问题是,在Kotlin中连接字符串的正确方法是什么?

在Java中,可以使用concat()方法,例如。

String a = "Hello ";
String b = a.concat("World"); // b = Hello World

但是Kotlin无法使用concat()函数。我应该使用符号吗?

共有3个答案

淳于兴朝
2023-03-14

我同意上面接受的答案,但它只适用于已知的字符串值。对于动态字符串值,这里是我的建议。

// A list may come from an API JSON like
{
   "names": [
      "Person 1",
      "Person 2",
      "Person 3",
         ...
      "Person N"
   ]
}
var listOfNames = mutableListOf<String>() 

val stringOfNames = listOfNames.joinToString(", ") 
// ", " <- a separator for the strings, could be any string that you want

// Posible result
// Person 1, Person 2, Person 3, ..., Person N

这对于使用分隔符连接字符串列表很有用。

柯鸿振
2023-03-14

kotlin。字符串有一个plus方法:

a.plus(b)

详见https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/plus.html。

史烨
2023-03-14

在Kotlin中,可以使用字符串插值/模板连接:

val a = "Hello"
val b = "World"
val c = "$a $b"

输出将是:Hello World

  • 编译器使用StringBuilder作为String模板,这是内存方面最有效的方法,因为/plus()创建新的String对象。

或者可以显式使用StringBuilder进行连接。

val a = "Hello"
val b = "World"

val sb = StringBuilder()
sb.append(a).append(b)
val c = sb.toString()

print(c)

输出将是:HelloWorld

或者可以使用操作符连接:

val a = "Hello"
val b = "World"
val c = a + b   // same as calling operator function a.plus(b)

print(c)

输出将是:HelloWorld

  • 这将创建一个新的String对象。
 类似资料:
  • 问题内容: 关闭。 这个问题不能重现或由错别字引起。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 我正在使用C#,并且试图连接到由00webhost托管的MySQL数据库。 我在网上遇到错误: 没有使用此参数的mysql主机。 我检查了,一切似乎都很好。 此连接字符串有什么问题? 问题答案: 尝试以这种方式创建连接字符串:

  • 问题内容: 我使用的是Oracle 10g,并具有以下表结构:id,段落 我想按ID分组并连接段落。每个段落可能超过1500个字符。 当我尝试wm_concat函数时,它抱怨字符串缓冲区太小。实际上,我在Oracle网站上尝试了许多示例,但所有示例均因字符串缓冲区太小而失败。 我该如何解决? 问题答案: 因此,我猜是错误的所在,我可以看到您在这种情况下如何认为这不适用于您。 但是,这是的错。这是一

  • 问题内容: 如何在python中连接字符串? 例如: 将其与形成字符串: 问题答案: 最简单的方法是 但为了提高效率,请参阅:https : //waymoot.org/home/python_string/

  • 问题内容: 我不时看到有关连接数据库的问题。 大多数答案不是我做的方式,否则我可能只是无法正确获得答案。无论如何; 我从未考虑过,因为我的工作方式对我有效。 但是这里有个疯狂的想法;也许我做错了所有,如果是这样的话;我真的很想知道如何使用PHP和PDO正确连接到MySQL数据库并使其易于访问。 这是我的做法: 首先,这是我的文件结构 (向下精简) : index.php 在最顶部,我有。 load

  • 我正在使用HikariDataSource连接到MariaDB数据库。以下类返回一个。 这是执行select查询的方法。该类还包含一个close方法 try with块自动关闭对象,但如何关闭连接池?例如,我应该在数据库操作之后调用close方法吗 当我不调用方法时,我看不到任何关于关机启动的控制台输出。这是关闭和连接池的正确方法吗?