精华内容
下载资源
问答
  • valueOf()方法如果存在任意原始值,它就默认将对象转换为表示它的原始值;对象是复合值,默认的valueOf()方法返回对象本身,而不是返回一个原始值。 toString()方法返回反映这个对象的字符串。 常常使用Object....

    区别: 

    • valueOf()方法如果存在任意原始值,它就默认将对象转换为表示它的原始值;对象是复合值,默认的valueOf()方法返回对象本身,而不是返回一个原始值。
    • toString()方法返回反映这个对象的字符串。

    常常使用Object.prototype.toString()来进行类型识别,返回代表该对象的[object 数据类型],字符串表示。

    展开全文
  • String.valueOf([对象]) (String) 这是标准的类型转换,将对象强制转换为String类型,前提是该对象必须能保证转成String类型,否则将抛出ClassCastException异常 toString API源码: /*** This object ...

    在Java开发中,我们经常用到将对象转换成String类型这一功能,常用的有如下三种方式

    • (String)[对象]

    • [对象].toString

    • String.valueOf([对象])

    (String)

    这是标准的类型转换,将对象强制转换为String类型,前提是 该对象必须能保证转成String类型,否则将抛出ClassCastException异常

    toString

    API源码:

    /***
     This object (which is already a string!) is itself returned.** @return 
    the string itself.*/public String toString() { return this;}

    此方法返回对象本身,在java.lang.Object类中也有toString()方法,所以Java对象都可以调用此方法,但使用的时候 必须保证要转换的对象不为null ,否则将抛出NullPointerException异常

    String.valueOf()

    API源码

    /***
     Returns the string representation of the 
    <code>Object</code> argument.** @param obj an 
    <code>Object</code>.* @return if the argument is 
    <code>null</code>, then a string equal to* 
    <code>"null"</code>; otherwise, the value of* 
    <code>obj.toString()</code> is returned.* @see 
    java.lang.Object#toString()*/public static String valueOf(Object obj) { 
    return (obj == null) ? "null" : obj.toString();}

    从上面源码可以看出,我们不用担心Object为null,但使用的时候也要小心, 当Object为null时,它的返回值是“null”,而不是null ,是有区别的。

    示例代码

    public
     class Test { public static void main(String[] args) { Object obj = new 
    Object(); String str = null;System.out.println((String) obj); // 
    ①System.out.println(str.toString()); // 
    ②System.out.println(String.valueOf(str)); // ③}}

    ①行代码使用(String)强制转换,由于是Object类型无法转换成String,所以报如下异常

    Exception
     in thread "main" java.lang.ClassCastException: java.lang.Object cannot 
    be cast to java.lang.Stringat 
    com.becoda.bkms.bus.energyindex.web.Test.main(Test.java:11)

    ②行代码使用toString()方法,由于str为null,所以报如下异常

    Exception in thread "main" java.lang.NullPointerExceptionat com.becoda.bkms.bus.energyindex.web.Test.main(Test.java:12)

    ③行代码使用String.valueOf()方法,即使str为null,也不会报错,返回字符串null

    展开全文
  • 在开发中,经常看到好多同事转字符串用toString()方法,这个方法看似用起来简单,但是用不好也很容易埋雷。我在开发中就改过类似的很多个bug,都是toString()方法使用不当引起的。 1.容易引起NullPointException()...

    最大的区别就是String.valueof()可以接受Object对象,而toString()方法必须是对象实现了toString()方法才可以使用。

    在开发中,经常看到好多同事转字符串用toString()方法,这个方法用起来简单,但是项目中稍不注意就很容易埋雷。我在开发中就改过类似的很多个bug,都是toString()方法使用不当引起的。

    1、容易引起NullPointException()异常。这个bug在开发中最常见,一般都是使用对象调用toString()方法时未判空导致。如:

    priviate void toString(Object obj){

           System.out.println(obj.toString());

    }

    此时,如果调用方法的人直接传过来的数据未判空,系统就会抛空指针异常

    2、容易引起NumfomatExption()异常,这个异常稍隐蔽,在值转换时容易出现,尤其是遇到特殊数据,简直就是定时炸弹。

    如:Long.valueof(obj.toString()),此时如果obj传过来的不是数字,转换时就会报这个错。

    那怎么避免出现这样的错误呢?

    我的建议是尽量使用String.valueof()方法。

    这个方法可以直接传Object类型参数,首先系统报空指针错误的概率大大降低,其次,String.value()保证可以将对象转换为字符串,扔进去什么都可以转换成string字符串,即便是null也可以。

    说到null,如果用了String.valueof()方法后还要进行数字转换,最好是加个“null”字符串判断就更加保险了,等于双保险。

    以上。

     

     

    展开全文
  • 1、这两个方法都为对象的原始方法 2、valueOf为对象的原始值,通常不会显示的调用,才能由js自动在后台进行调用 3、toString()本身的作用是做字符串的转换,也...//重写对象的toString()和valueOf() toString:func

    1、这两个方法都为对象的原始方法

    2、valueOf为对象的原始值,通常不会显示的调用,通常由js自动在后台进行调用

    3、toString()本身的作用是做字符串的转换,也会进行自动调用

    4、如果我们重写了这两个方法。在运算时,优先调用valueOf,在进行显示时,优先调用toString

    5、若我们只重写了一个方法,那么无论是运算还是显示都会调用该方法

    var obj = {
    
        num:1,
    
    //重写对象的toString()和valueOf()
    
        toString:function(){
    
            return this.num+1;
    
        },
    
        valueOf:function(){
    
            return this.num+2;
    
        }
    
    } 
    
    console.log(obj==3);//结果为ture,调用了valueOf()方法

    展开全文
  • 当对象表示为文本或以期望字符串被调用时,toString()方法会自动调用,比如用console.log()或者alert()方法输出值时,就会自动调用该方法,在进行值比较时,也可能触发该方法,也有可能触发valueOf方法,...
  • 这两个方法都为对象的原始方法 ... 如果我们重写了这两个方法,在进行运算时,优先调用valueof,在进行显示时,优先调用toString 比如我们只量写了一个方法,那么无论是运算还是显示,都会调用该方法 ...
  • valueOf()和toString()方法 javascript的Object都有一个默认的值,当你用alert打印一个object的时候,会显示这个object的字符串值,将object作为算术运算符(+、-、* )的操作数时,object也会自动转换成一个原始值...
  • 因为你不能覆盖valueOf方法,你必须定义一个自定义方法(下面的示例代码中的getEnum),它返回你需要的值,并改变你的客户端使用这个方法。public enum RandomEnum {StartHere("Start Here"),StopHere("Stop Here");...
  • toStringvalueOf区别

    千次阅读 2021-08-13 22:36:35
    基本上,javascript中所有数据类型都拥有valueOf和toString这两个方法,nullundefined除外。它们俩解决javascript值运算与显示的问题,本文将详细介绍,有需要的朋友可以参考下。 为什么基本数据类型也有方法: 有...
  • valueOf和toString

    2021-08-31 21:08:20
    valueOf和toString区别 var obj = { num = 0; toString:function(){ console.log(num++); } valueOf:function(){ console.log(num++); } } console.log(obj==1);//优先调用valueOf 1.这两个方法都为...
  • valueof和toString的调用

    2021-03-31 23:17:11
    valueOf方法 调用valueOf方法后,会返回它自身。(Object,Array,Function) 当new Number时,创建出一个对象,但是返回值不是Object类型,而是对应的Number等,...a是一个基本数据,为什么能使用toString和valueOf,proto
  • 每个对象的toString和valueOf方法都可以被改写,每个对象执行完毕,如果被用以操作JavaScript解析器就会自动调用对象的toString或者valueOf方法,举栗子: //我们先创建一个对象,并修改其toString和valueOf方法 ...
  • 今天,在群里有一个妹子问我一个问题,我开始时草草帮她解答...下面是问题解答:下面是问题解答:妹子问的是这里为什么要用valueOf,然后我去查看了API得到这个截图,但还是不太清楚然后我去看看原代码,并没有...
  • 先看dome01: toString function smallFun (y){ let x= 10 let aaa = ()=>{} aaa.toString = ()=>{ return x+y } return aaa } console.log(smallFun(10)) //20
  • valueOf 返回对象本身、 toString 返回对象描述字符串 obj = new Object(); // {} obj.toString(); // '[object Object]' obj.valueOf() == obj // true
  • String.valueOf(null) ok (null). toString() 报错
  • } temp.valueOf = temp.toString = function() { return a; }; return temp; } add(2)(3)(4)(5);//14 //方法二、另看到一种很飘逸的写法(来自Gaubee): function add(num){ num += ~~add; add.num = num; return ...
  • 当传入参数为byte,short,int,long,float,double,boolean,char(8种基本数据类型)时可以调用String.valueOf()方法转化为String。 传入参数为byte,short时会自动转成int。 针对传入参数为Object类型,比较...
  • Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: getClass().getName()...
  • The values in my enum are words that need to have spaces in them, but enums can't have spaces in their values so it's all bunched ... I want to override toString() to add these spaces where I tell it ...
  • JS中Boolean对象(true or false) ...prototype:有能力对该对象进行添加属性方法。 示例: var res = new Boolean(1);结果:返回的是一个对象。并不是一个布尔值 var res = new Boolean("false");结果:返...
  • 结论:String.valueOf() = toString() > i+"" 代码 public class Test { public static void main(String[] args) { int i = 1; String a = ""; a = String.valueOf(i); a = Integer.toString(i); a = i + ...
  • 1.总结htmltoString( ):返回对象的字符串...在数值运算里,会优先调用valueOf(),在字符串运算里,会优先调用toString()。正则表达式2.toString()方法segmentfault下面进行举例说明(undefinednull没有这两个方法...
  • 1 前言 注: 原文中 IDEA 2021.1,jdk 1.8 相信大家在日常开发中这三种方法用到的应该很多...2、String.valueOf(Obj) 推荐使用 、 3、无法强转 (String)是标准的类型转换,将Object类型转为String类型...
  • 2.ValueOf()方法比如说 Integer.valueOf() 是把String类型转化为Integer类型(注意:是Integer类型,而不是int类型,int类型是表示数字的简单类型,Integer类型是一个引用的复杂类型) 如: String a= "123";...
  • 在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用 不同点 二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString <script> var obj = {}; obj....
  • String.valueOf()则会返回 “null” 字符串(return (obj == null) ? "null" : obj.toString();) 源码: toString() /** * Returns a {@code String} object representing this * {@code Integ
  • 开始这个话题之前,我们先看一下下面的几个例子:parseInt(0.0000004)// 4![]==[]//true['x','y']=='x,y'//...今天就大家讨论一下JavaScript的对象转换。基础类型先让我们了解一下JavasScript转换的“原始类型(p...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 409,197
精华内容 163,678
关键字:

valueof和tostring区别