zoukankan      html  css  js  c++  java
  • java-toString()、(String)、String.valueOf 的区别

    1. Object x = new Integer(1218);
      System.out.println((String)x);
    2. 如上代码编译通过,运行时报错:
      java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    3. toString()
      1. toString()是在Object中定义的,因此,任何继承Object的类都具有这个方法。
      2. 建议所有子类都重写此方法
      3. 它的值等于:getClass().getName()+'@'+Integer.toHexString(hashCode())
      4. 使用toString()的对象不能为null,否则会抛出异常java.lang.NullPointerException
    4. String.valueOf()
      1. String.valueOf()解决了toString()使用对象不能为空的问题
      2. public static String valueOf(Object obj) {
            return (obj == null) ? "null" : obj.toString();
        }
      3. 如果对象为null,则返回字符串“null”
    5. (String)
      1. 它是强制转换
      2. Integer o = new Integer(1218);
        System.out.println((String)o);
      3. 如上代码编译时就会报错:Cannot cast from Integer to String,说明Integer不能通过强制转换成String
      4. Object x = new Integer(1218);
        System.out.println((String)x);
      5. 在编译时没错,运行时抛出异常。这是因为x在表面上是Object,实际上是Integer。而Object是可以通过强制转换成为String的。所以,在编译的时候,x被当成了Object,大家相安无事,真正运行的时候,x被查出来是Integer,理所当然就抛出了ClassCastException。

  • 相关阅读:
    第五章 相关分析 第三组作业
    作业二 网调问卷制作
    作业一 统计软件简介与数据操作
    Map Reduce Shuffle
    springboot druid 多数据源配置
    Storm Stream grouping
    大专+高级证书 人才引进广州。
    First Article
    批量选择图片
    模态框
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/10371345.html
Copyright © 2011-2022 走看看