如何将任何对象转换为字符串?

Hem*_*oli 16 java string android valueconverter android-fragments

这是我的代码:

for (String toEmail : toEmailList)          
{
    Log.i("GMail","toEmail: "+toEmail);
    emailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));      
}
Run Code Online (Sandbox Code Playgroud)

请给我一些关于此的建议.

Sal*_*aan 45

要将任何对象转换为字符串,Java中有几种方法

String convertedToString = String.valueOf(Object);  //method 1

String convertedToString = "" + Object;   //method 2

String convertedToString = Object.toString();  //method 3
Run Code Online (Sandbox Code Playgroud)

我更喜欢第一和第三

编辑
如果在kotlin工作,官方的Android语言

val number: Int = 12345
String convertAndAppendToString = "number = $number"   //method 1

String convertObjectMemberToString = "number = ${Object.number}" //method 2

String convertedToString = Object.toString()  //method 3
Run Code Online (Sandbox Code Playgroud)

  • Object.toString()可以抛出NPE (3认同)
  • 无论如何,“String.valueOf”最终都会调用“toString()”,但它确实会进行空检查。 (3认同)

Bog*_*kyi 9

如果该类没有toString()方法,那么您可以使用org.apache.commons:commons-lang3ToStringBuilder中的类

pom.xml:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.12</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

代码:

ToStringBuilder.reflectionToString(yourObject)
Run Code Online (Sandbox Code Playgroud)


小智 5

我编写了一些通过Gson库和java 1.8进行转换的方法。 它们是转换的日常模型。

字符串到对象

对象到字符串

列表转字符串

列表中的字符串

哈希映射到字符串

字符串转 JsonObj

//saeedmpt 
public static String convertMapToString(Map<String, String> data) {
    //convert Map  to String
    return new GsonBuilder().setPrettyPrinting().create().toJson(data);
}
public static <T> List<T> convertStringToList(String strListObj) {
    //convert string json to object List
    return new Gson().fromJson(strListObj, new TypeToken<List<Object>>() {
    }.getType());
}
public static <T> T convertStringToObj(String strObj, Class<T> classOfT) {
    //convert string json to object
    return new Gson().fromJson(strObj, (Type) classOfT);
}

public static JsonObject convertStringToJsonObj(String strObj) {
    //convert string json to object
    return new Gson().fromJson(strObj, JsonObject.class);
}

public static <T> String convertListObjToString(List<T> listObj) {
    //convert object list to string json for
    return new Gson().toJson(listObj, new TypeToken<List<T>>() {
    }.getType());
}

public static String convertObjToString(Object clsObj) {
    //convert object  to string json
    String jsonSender = new Gson().toJson(clsObj, new TypeToken<Object>() {
    }.getType());
    return jsonSender;
}
Run Code Online (Sandbox Code Playgroud)


Ada*_*dav 0

我没有正确理解你的问题,但根据你的标题,你可以通过使用对象toString()上的函数将任何类型的对象转换为字符串String