web-dev-qa-db-ja.com

Java / Groovyで配列を文字列に変換する

私はこのようなリストを持っています:

List tripIds    = new ArrayList()
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/steer", "root",
            "", "com.mysql.jdbc.Driver")
        sql.eachRow("SELECT trip.id from trip JOIN department WHERE organization_id = trip.client_id AND  department.id =1") {
            println "Gromit likes ${it.id}"
            tripIds << it.id
        } 

今トリピッドを印刷すると私に価値を与えます

  [1,2,3,4,5,6,]

今、私はこのリストを次のような単純な文字列に変換したい

 1,2,3,4,5,6

どうすればできますか

20
maaz

joinを使用します。例:

tripIds.join(", ")

無関係ですが、別のリストから何かのリストを作成したいだけの場合は、手動でリストを作成してそれに追加するのではなく、mapcollectのようなことをしたほうがいいでしょう。 、あまり慣用的ではない、例えば(試していない)、

def sql = Sql.newInstance("jdbc:mysql://localhost:3306/steer", "root", "", "com.mysql.jdbc.Driver")
def tripIds = sql.map { it.id }

またはonly結果の文字列を気にする場合は、

def tripIds = sql.map { it.id }.join(", ")
41
Dave Newton

グルーヴィーに:

def myList = [1,2,3,4,5]
def asString = myList.join(", ")
7
Mike Thomsen

Groovyがコレクションに追加する join method を使用します

List l = [1,2,3,4,5,6]
assert l.join(',') == "1,2,3,4,5,6"
5
Dónal