¿Alternativa para String.join en Android?

2 minutos de lectura

avatar de usuario
elreyleon

Quiero concatenar una ArrayList con comas como separadores. Encontré esta respuesta, indicando que es posible usar String.join en Java.

Sin embargo, cuando trato de usar esto, Android Studio da el siguiente error:

No se puede resolver el método ‘join(java.lang.String, java.lang.String, java.lang.String, java.lang.String)’

¿Existe una alternativa buena y concisa para Android Studio (en lugar de usar un bucle for)?

  • TextUtils.join() tal vez?

    – mjp66

    19 de noviembre de 2015 a las 11:46

  • prueba StringUtils.join

    – Bhargav Gracias

    19 de noviembre de 2015 a las 11:49

Puedes usar TextUtils.join en cambio:

String result = TextUtils.join(", ", list);

(String.join se agregó en Java 8, por lo que no puede usarlo en Android).

  • Para ahorrar algunos clics a usuarios que no son de Android Studio: import android.text.TextUtils

    -Peter Jankuliak

    21 de noviembre de 2018 a las 10:29

  • El uso de TextUtils puede causar problemas con la prueba unitaria. En ese caso, use una función de aquí: android.googlesource.com/platform/frameworks/base/+/refs/heads/…

    – Subín

    4 de julio de 2019 a las 19:15

  • @Subin: ¿Qué tipo de problema? ¿Y por qué vincular a TextUtils como alternativa a TextUtils? Me temo que tu comentario no es muy claro.

    – Jon Skeet

    4 de julio de 2019 a las 20:22

  • @JonSkeet Causa este problema: stackoverflow.com/q/35763289/1372424 Solución desde aquí: medio.com/@okmanideep/…

    – Subín

    5 de julio de 2019 a las 21:02

  • @Subin: Correcto, entonces específicamente si estás usando Mockito. Y tenga en cuenta que la solución es una cuestión de copiar la fuente de TextUtils en su proyecto de prueba.

    – Jon Skeet

    5 de julio de 2019 a las 21:22

avatar de usuario
BREI

String[] List ={"<html>","<body>","<title>"};
String abc;       
abc =TextUtils.join("\n", List);
textmsg.getText().insert(textmsg.getSelectionStart(), abc);

resultado:

<html>
<body>
<title>

Puedes usar esto

TextUtils.join(", ", your_list);

¿Ha sido útil esta solución?