【问题标题】:How to convert any Object to String?如何将任何对象转换为字符串?
【发布时间】:2015-10-29 02:08:36
【问题描述】:

这是我的代码:

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

请给我一些建议。

【问题讨论】:

  • 您能否澄清您的问题,哪个对象?

标签: java android string android-fragments valueconverter


【解决方案1】:

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

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

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

String convertedToString = Object.toString();  //method 3

我更喜欢第一个和第三个

编辑
如果使用 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

【讨论】:

  • Object.toString() 可以抛出 NPE
  • String.valueOf 最终还是调用了toString(),但它确实进行了空检查。
【解决方案2】:

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

pom.xml:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.10</version>
</dependency>

代码:

ToStringBuilder.reflectionToString(yourObject)

【讨论】:

    【解决方案3】:

    "toString()" 是一个非常有用的方法,它返回一个对象的字符串表示。 “toString()”方法返回一个字符串表示一个对象。建议所有子类重写该方法。

    声明:java.lang.Object.toString()

    由于您没有提到要转换哪个对象,所以我只是在示例代码中使用任何对象。

    Integer integerObject = 5;
    String convertedStringObject = integerObject .toString();
    System.out.println(convertedStringObject );
    

    您可以找到完整的代码here。 您可以测试代码here

    【讨论】:

      【解决方案4】:

      我正在尝试使用这行代码将 Object 类型变量转换为字符串

      尝试将对象值转换为字符串:

      Java 代码

       Object dataobject=value;
          //convert object into String  
           String convert= String.valueOf(dataobject);
      

      【讨论】:

        【解决方案5】:

        我已经通过 Gson 库和 java 1.8convert 编写了一些方法。
        它们是用于转换的动态模型。

        字符串到对象

        对象到字符串

        列表到字符串

        字符串列表

        哈希映射到字符串

        字符串到 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;
        }
        

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 2021-02-03
            • 2018-07-19
            • 2019-07-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多