Convert Array to string in Java/Groovy

72,741

Solution 1

Use join, e.g.,

tripIds.join(", ")

Unrelated, but if you just want to create a list of something from another list, you'd be better off doing something like a map or collect instead of manually creating a list and appending to it, which is less idiomatic, e.g. (untested),

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

Or if you only care about the resulting string,

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

Solution 2

In groovy:

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

Solution 3

Use the join method that Groovy addes to Collection

List l = [1,2,3,4,5,6]
assert l.join(',') == "1,2,3,4,5,6"
Share:
72,741

Related videos on Youtube

maaz
Author by

maaz

Updated on October 02, 2020

Comments

  • maaz
    maaz over 3 years

    I have a list like this:

    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
    } 
    

    On printing tripids gives me value:

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

    I want to convert this list to simple string like:

     1,2,3,4,5,6
    

    How can I do this?

  • Dave Newton
    Dave Newton over 12 years
    Seems like a lot of work. Why repeat the code for appending tripIds.get(i) in both conditions? For that matter, why show the code for doing the creation twice; wouldn't it be more vertical-space-friendly to put it in a method and just call it from the example?
  • Dónal
    Dónal over 12 years
    I assume you get paid by the line?