精华内容
下载资源
问答
  • 因为String.prototype重写了toString方法,所以调用字符串的toString时,调用的是String.prototype的,不是Object.prototype的。 'abc'.__proto__ === String.prototype; // true 'abc'.__proto__.__proto__ === ...

    因为String.prototype重写了toString方法,
    所以调用字符串的toString时,调用的是String.prototype的,
    不是Object.prototype的。

    'abc'.__proto__ === String.prototype; // true
    'abc'.__proto__.__proto__ === Object.prototype; // true
    

    Object.prototype.toString.call(‘abc’);
    是直接调用Object.prototype对象的toString方法
    其他同理

    MDN解释原话

    可以通过 toString() 来获取每个对象的类型。
    为了每个对象都能通过 Object.prototype.toString() 来检测,
    需要以 Function.prototype.call() 
    或者 Function.prototype.apply() 的形式来调用,
    传递要检查的对象作为第一个参数,称为 thisArg。
    

    toString() 方法返回一个表示该对象的字符串。

    function Dog(name) {
      this.name = name;
    }
    
    const dog1 = new Dog('Gabby');
    
    Dog.prototype.toString = function dogToString() {
      return `${this.name}`;
    };
    
    console.log(dog1.toString());
    // expected output: "Gabby"
    
    

    描述

    每个对象都有一个 toString() 方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString() 方法被每个 Object 对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 “[object type]”,其中 type 是对象的类型。以下代码说明了这一点:

    var o = new Object();
    o.toString(); // returns [object Object]
    

    参考文档地址

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString

    展开全文
  • Java中toString方法的解释

    千次阅读 2019-05-05 20:03:15
    Object类: 我们知道Java中,所有类都直接或间接的继承object类,也就是说object类是所有...可以很清晰的看到toString方法返回的是字符串,下附详情, 现在来看一下代码, public class Demo { static int ...

    Object类:

    我们知道Java中,所有类都直接或间接的继承object类,也就是说object类是所有类的父类。所以基本上所有对象都能调用Object类中的方法,So,我们先看看JDKAPI中Object类有多少方法:

    可以很清晰的看到toString方法返回的是字符串,下附详情,

    现在来看一下代码,

    public class Demo {
    
        static int  a= 1;
    
        public static void main(String[] args) {
    
            System.out.println("love "+new Demo());
            Demo d = new Demo();
            d.a++;
            System.out.println("me "+d.a);
        }
    
        public String toString(){
            System.out.print("I ");
            return "Java";
    
        }
    }

    这段代码,笔者在第一次看到时以为会是"love I Java",但通过编译器知道了正确是"I lova Java",

    现在我们来改变下代码:

    public class Demo {
    
        static int  a= 1;
    
        public static void main(String[] args) {
    
            System.out.println("我 "+new Demo());
            System.out.println("被");
        }
    
        public String toString(){
            System.out.println("调 ");
            System.out.println("用 ");
            return "\n了";
    
        }
    }

    现在我们发现结果为:

    调 
    用 
    我 
    了
    被

    我们知道大部分语言的代码都是从main方法进入开始执行,我们先当程序执行到"System.out.println("我 "+new Demo());"时,这里的"new Demo()"相当于"Demo d = new Demo();"中的d,可以理解为匿名对象,在本例中由于重写了toString方法,所以,不会在返回

    getClass().getName() + '@' + Integer.toHexString(hashCode()),//即com.LOL_toulan.Demo@1540e19d

     当执行到new Demo();时,系统会自动调用对象的toString方法,同时会看代码中有没有重写toString方法,注意此时"

    System.out.println("love "+new Demo());//并没有执行结束,

     因为System类中的方法都是static,所以当调用时系统会先解析System.out.println();方法,所以在终端先打印出“I”,然后打印出"love",最后拼接上toString方法返回的“java”。

    下一行代码中,根据对象名去调用静态变量i对其进行++操作,输出me:2。

    展开全文
  • toString()方法 一般出现在System.out.println(类名.toString()); toString()是一种自我描述方法 本身返回的是 getClass().getName() + “@” +Integer.toHexString(hashCode()); 也就是 类名 + @ +hashCode的值 ...

    toString()方法 一般出现在System.out.println(类名.toString());

    toString()是一种自我描述方法 本身返回的是 getClass().getName() + “@” +Integer.toHexString(hashCode());

    也就是 类名 + @ +hashCode的值

    重写toString() 只会对类生效,并不能字符串生效; 例如

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    package com.stu;

    //用toString 重写一个类
    public class Car {

    //成员变量
    private String carNo;
    private String carName;
    private String color;
    private double price;

    //有参构造函数
    Car(String carNo,String carName,String color,double price){
    this.carNo=carNo;
    this.carName=carName;
    this.color=color;
    this.price=price;
    }

    //get set方法
    public String getCarNo(){
        return carNo;
    }
     
    public void setCarNo(String carNo){
        this.carNo=carNo;
    }
     
    public String getCarName() {
        return carName;
    }
    
    public void setCarName(String carName) {
        this.carName = carName;
    }
    
    public String getColor() {
        return color;
    }
    
    public void setColor(String color) {
        this.color = color;
    }
    
    public double getPrice() {
        return price;
    }
    
    public void setPrice(double price) {
        this.price = price;
    }
           //重写toString();
    public String toString(){
        return "这个汽车名叫 "+carName+",型号是 "+carNo+",汽车颜色 "+color+",价格 "+price;
    }
     
    public static void main(String[] args){
       //创建一个Car的对象
    Car myCar=new Car("苏A 4995","长安汽车","灰蓝色",70000.00);   //类名开头字母大写
        System.out.println(myCar.toString());
    }
    

    }

    假如不对toString()进行重写则 输出结果:

    com.stu.Car@2542880d ==> 类名 + “@” +hashCode值

    2.为什么要重写toString()方法

    在Object类里面定义toString()方法的时候返回的对象的哈希code码,这个hashcode码不能简单明了的表示出对象的属性。所以要重写toString()方法。
    当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法。
    默认情况下 System.out.println(对象名)或者System.out.println(对象名.toString())输出的是此对象的类名和此对象对应内存的首地址如果想自定义输出信息必须重写toString()方法。

    注意事项:

    1.必须被声明为public

    2.返回类型为String

    3.方法的名称必须为toString,且无参数

    4.方法体中不要使用输出方法System.out.println()

    展开全文
  • JAVA基础中toString()的讲解

    万次阅读 多人点赞 2019-03-21 17:59:50
    1.要理解toString()方法,首先要知道,在JDk中提供一个Object类,它是所有类的父类,即每个类都直接或间接的继承自该类。 注:个人理解,即,任何类中,都可以直接使用Object类中定义的方法,例如我们常用toString()...

    1.要理解toString()方法,首先要知道,在JDk中提供一个Object类,它是所有类的父类,即每个类都直接或间接的继承自该类。
    注:个人理解,即,任何类中,都可以直接使用Object类中定义的方法,例如我们常用toString()方法。

    package pers.day02;
    
    class Animal{
    	public Animal(){}   //不写,也会默认补上这个构造函数
    }
    public class AnimalDemo1 {
    	public static void main (String[]  args) {
    		Animal an = new Animal();
    		System.out.println(an.toString());
    	}
    }
    
    

    运行结果如下:
    在这里插入图片描述
    我们可以看到,并没有报错,但是打印出来的又是什么?现在我们了解一下toString()方法的作用。

    2.这个toString()方法解析开来,其实就是getClass().getName()+"@"+Integer.toHexString(hashCode());第一眼看上去感觉很复杂,我们对照刚刚打印的信息来看:
    getClass().getName()+"@"+Integer.toHexString(hashCode())
    pers.day02.Animal@73035e27
    1)getClass().getName()代表返回对象所属类的包名.类名,即pers.day02.Anima。
    2)@对应@;
    3)Integer.toHexString(hashCode())代表将对象的哈希值用16进制表示,其中hashCode()代表返回该对象的哈希值。

    3.然而,在实际开发中,通常希望toString()方法返回的不只是基本信息,所以Object的toString()方法通常会被重写,如下,我们只需在Animal类中重写toString()即可。

    class Animal{
    	public Animal(){}   //不写,也会默认补上这个构造函数
    	public String toString(){
    		return "特有信息!";
    	}
    }
    
    展开全文
  • toString方法详解

    千次阅读 2018-05-04 23:18:00
    /* sun在object类中设计toString方法的目的,返回java对象的字符串表示形式对象在控制台上用字符串表示的话,显示字符串的话用toString方法在现实的开发过程中,Object中的toString方法已经不够用了因为Object里...
  • tostring()函数详解,tosring。大家都知道这是一个非常有用的函数,以后会哟刚到的吗
  • Java的Arrays.toString()方法介绍

    万次阅读 2019-07-10 09:35:43
    int[] array = {3,8,5,65,...System.out.println(array.toString()); System.out.println(Arrays.toString(array)); bubbleSort(array); System.out.println(Arrays.toString(array)); 结果是: [I@1b6d3586 [3, 8...
  • java将double型数 toString

    2021-05-05 21:35:30
    double d = 1234567892.50; NumberFormat format = NumberFormat.getInstance(); format.setMinimumFractionDigits(7); String s= format.format(d); System.out.println(s);...Double整数部分超6位用科学计数法...
  • Java重写ToString()方法的意义

    万次阅读 多人点赞 2017-02-13 10:59:15
    1、为什么要重写ToString? 其实对于一般的对象来说都会有这个方法,ToString()这个方法的作用,主要就是将对象中各个属性值按字符串的方式输出出来,用白话说就是:使用文字描述这个对象里各个变量是什么值...
  • 函数添加toString方法

    2017-09-07 13:41:59
    现有以下案例: !...加载后得到以下结果: !...以下代码的用途比较迷惑: ...如果给函数添加toString方法,则可打印f 1,如果不添加打印函数代码体,在这里函数的toString方法起到什么作用呢?还望各位朋友可以帮助解答
  • Java中toString的用法/作用

    千次阅读 2019-09-14 22:02:01
    今天在学习java中直接输出集合对象 list,得到的是地址值,后来经提醒,需要在类中重写toString方法 toString源代码: public String toString() { return getClass().getName() + "@" + Integer.toHexString...
  • 字符串tostringReturns the string representation of the current String object: 返回当前String对象的字符串表示形式: ...str.toString() //'Test'It’s same as valueOf(). 与valueOf()相同。 翻译自...
  • //Outputs: "20.3" console.log(20.3.toString()); //Outputs: Uncaught SyntaxError: Unexpected token ILLEGAL console.log(20.toString()); 为什么20.toString 报错了
  • getText()方法为什么要加toString

    千次阅读 2017-12-06 19:21:25
    EditText中的getText()方法的返回值为CharSequence,如果我们想要获得string类型数据的话,需要在后边加上.toString      另外,String类型转为int:Integer.parseInt(str);    String类型...
  • Object.prototype.toString.call(value) 在 JavaScript 里使用 typeof 判断数据类型,只能区分基本类型,即:number、string、undefined、boolean、object。 对于null、array、function、object来说,使用 typeof ...
  • java Map toString() 源码解读测试

    千次阅读 2017-11-30 15:43:49
    System.out.println("--------------- 改装map.toString方法测试 start ---------------"); long btime1 = System.currentTimeMillis(); String str = toString2(map); System.out.println(str); long etime1 =...
  • java中toString详解

    2017-12-13 09:03:51
    java中toString详解
  • arrays.toString() 的用法

    2020-06-18 16:53:42
    在Java中,数组的输出一般要使用循环来输出,不能直接输出整个数组,直接System.out.println...除使用循环之外,还可以使用arrays.toString()来输出,arrays.toString()是定义好的方法,如图 使用效果对比如下: ...
  • toString().trim()是什么意思

    千次阅读 2019-11-29 18:30:16
    ToString()是转化为字符串的方法 Trim()是去两边空格的方法 把StringBuffer转换成String类型时 没有用.trim()会导致意想不到的结果-- 用if语句判断时跟想的不一样 if(returnStrnull||returnStr”“){//没有.trim()...
  • Arrays.toString()方法

    千次阅读 2020-02-09 17:25:46
    Arrays.toString() 作用:方便地输出数组。 这个方法是是用来将数组转换成String类型输出的,入参可以是long,float,double,int,boolean,byte,object 型的数组。 如果直接i.toString()则是输出地址值 ...
  • Integer.toString(int i)方法 - Java 8

    千次阅读 2020-05-16 18:57:55
    } 上面的方法没什么好说的,下面看看getChars方法(源码中上面这段代码和下面这段代码是邻居): // 将i转成字符数组存储在buf中 static void getChars(int i, int index, char[] buf) { int q, r; int charPos = ...
  • 浅解Java中toString函数

    千次阅读 2018-04-01 22:25:55
    String toString():返回该对象的字符串表示。当程序使用System.out.println()方法输出一个对象,或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的toString()方法返回该对象的字符串表示。该方法属于...
  • 【C#】double.ToString() 的用法

    千次阅读 2019-09-17 14:59:51
    C# 中 double 类型的数据,有时需要格式化显示为字符串(保留N位有效数字或者是保留N位小数),可以使用 double.ToString("参数") 方法。
  • Map中取值toString()

    千次阅读 2018-03-08 14:23:00
    Map,Object> recMap = (Map, Object>) this.getBaseDao().queryForObject("NGAnswer.querySumRecCount",qmap);...recMap.get("sumRecCount").toString()如果用(String)强转就不行,一定要注意recMap中的类型
  • java中toString的用法

    万次阅读 多人点赞 2017-02-26 10:27:01
    toString public String toString() 返回该对象的字符串表示。通常, toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。 Object...
  • 求大神指点 java中toString 方法 是如何使用的
  • arrays.toString() 的使用方法

    千次阅读 2018-11-29 14:42:10
    简而言之,arrays.tostring通常用于数组的输出,观察下面的代码。 import java.util.Arrays; public class ArraySort { public static void main(String args[]){ int[] a={0,5,3,1,8,9}; System.out.println("...
  • 特别对于刚接粗json的小伙伴们,这两个方法经常看见,却不知道到底应该在什么场景下分别取使用他们,因此为了弄清楚,看源码是个不错的选择。 public String toString() { return this.toJSONString(); } public...
  • 1. tostring()是object类中的方法,而所有的类都继承object类,所以所有类都可以调用tostring方法。 2. tostring就是将不是string类型的自动转为string类型 3. 当不重写tostring方法时,调用object中tostring 4. ...
  • java 数组 toString 意思

    千次阅读 2019-03-21 16:29:09
    toString ( nums ) ) ; // [1, 2, 3] int [ ] [ ] table = { { 1 , } , { 2 , 3 , } , { 4 , 5 , 6 , } , } ; System . out . println ( Arrays . toString ( table ) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 119,132
精华内容 47,652
关键字:

tostring是什么意思