精华内容
下载资源
问答
  • 输出对象 = 输出toString方法的返回值 = 类名@hashCode方法的返回值 【小应用】通过toString来之间输出对象的内部状态 在类中对toString方法进行重写,使之返回对象的内部状态: @Override public String ...

    (参考自疯狂系列,李刚视频教程)

    【toString】

    ——顾名思义:将任何对象都转化为字符串的表达形式!
    在很多使用场合,都会重写该方法,用于将对象内部内容用想要的字符串形式输出
    不重写的话,只会输出对象的字符串表示:包名.类名@hashCode方法的返回值(16进制)

    写一个类,再输出该类的对象:

    class  Apple1   //类默认继承Object
    {
    	private String color;
    	private double weight;//实例成员变量
    
    //构造器
        public  Apple1()//无参构造器
        {
    
        }
        public  Apple1(String color , double weight)//初始化全部成员变量的构造器
        {
    		this.color = color;
    		this.weight = weight;
        }
    
    //color的set和get方法
    	public void setColor(String color)//方法
    	{
    		this.color = color;
    	}
    	public String getColor()
    	{
    		return this.color;
    	}
    
    //weight的set和get方法
    	public void setWeight(double weight)
    	{
    		this.weight = weight;
    	}
    	public double getWeight()
    	{
    		return this.weight;
    	}
    
    }
    
    public class Apple2Test
    {
    	public static void main(String[] args) 
    	{
    		Apple1 ap = new Apple1("红色",20);
    		System.out.println(ap);
    		System.out.println(ap.toString());
    	}
    }
    

    输出对象ap的返回值为:
    在这里插入图片描述

    toString()方法:
    ——程序打印对象(或者把对象转字符串)时,实际上输出的是该对象的 toString方法的返回值

     **即: 下式的输出相同:**
    
    	    System.out.println(ap);
    		System.out.println(ap.toString());
    

    Object提供的toString方法,返回的是:包名.类名@hashCode方法的返回值(十六进制) 没有设置包,则不打印包名。

    有的地方说是返回对象的地址,其实是不严密的,是错的,验证:
    —— 在Apple1类中加入hashCode方法

    	public int hashCode()
        {
    	    return 20;
        }
    

    输出为:
    在这里插入图片描述
    其中14为20的十六进制表示方法,说明:
    ——如果不写hashCode方法,toString返回值确实是对象的地址,写了就返回hashCode方法的返回值。

    即:输出对象 = 输出toString方法的返回值 = 类名@hashCode方法的返回值

    【小应用】通过toString来之间输出对象的内部状态
    在类中对toString方法进行重写,使之返回对象的内部状态:

    @Override
    	public String toString()//方法的重写,使输出对象时输出该方法的返回值!
    	{
    		return "Apple[color ="+color+",weight="+weight+"]";
    		//打印出所有的成员变量,以便看出对象的内部状态
    		//利用好toString,可以通过直接输出对象ap来查看对象的内部状态
    	}
    

    输出对象:

    System.out.println(ap);
    

    可得对象的状态:
    在这里插入图片描述
    若要把对象转化为字符串输出,可以将对象加上一个空字符串:

    	String str = ap + "";//任何对象,加上空字符串,就会变成字符串
    	System.out.println(str);
    

    即可输出上面的结果。

    展开全文
  • 今天做数据库查询的时候,做输出是“类名@哈希码” 如右图 ...大致意思是:该 toString方法会返回一个“文本表示”此对象的字符串。结果应该是一个简洁但信息丰富的表示,便于人们阅读。但是官方...

    今天做数据库查询的时候,做输出是“包名+类名@哈希码”
    如右图在这里插入图片描述
    说明查询方法是没有问题的。
    原因分析:1、system.out.println(),该方法如下,如果是一个原始类型就直接打印,如果是一个类类型,则打印出其toString方法的返回值。
    在这里插入图片描述
    2、而该方法具体如下
    大致意思是:该 toString方法会返回一个“文本表示”此对象的字符串。结果应该是一个简洁但信息丰富的表示,便于人们阅读。但是官方定义的tostring()方法,返回信息并不容易看懂(其实是对象的内存地址的十六进制形式),所以建议所有子类都重写此方法在这里插入图片描述
    3、故重新写此方法

    public class User {
    	private String username;
    	private String password;
    	private String verityCode;
    	@Override   //此处重写为重点
    	public String toString() {
    		//添加代码,要注意返回String对象
    	return "用户名:"+username+",密码:"+password+",校验码:"+verityCode;
    	}
    }
    
    

    4、继续执行测试方法,此时调用的就是重写之后的方法
    在这里插入图片描述
    总结:这样可以正常输出,特别是在Bean流行的一般的Web项目项目中,debug方便,当然,当Bean的属性较多时,自己实现就不可取了,不过IDEA同意通过快捷键自动生成。


    toString源码解析:
    因为所有的子类都会直接或者间接的继承Object类而,Object类中有一个方法就是toString,源码如下,返回的是包名+类名@对象的16进制内存地址
    在这里插入图片描述

    展开全文
  • java toString()方法的使用和详解

    万次阅读 多人点赞 2018-10-19 00:23:39
    java toString方法是使用和详解1.toString()...toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址 在进行String类与其他类型的连接操作时,自动调用toString()方法,demo如下...

    1.toString()方法

    1. toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址
    2. 在进行String类与其他类型的连接操作时,自动调用toString()方法,demo如下:
    Date now = new Date();
    System.out.println("now = " + now);//相当于下一行代码
    System.out.println("now = " + now.toString());
    
    1. 实际应用中,可以根据需要在用户自定义类型中重写toString()方法,如Stirng类重写了toString()方法,返回字符串的值,dome如下
    System.out.println(s1);//相当于下一行代码
    System.out.println(s1.toString());
    
    1. 基本数据类型转换为String类型是,调用了对应包装类的toString()方法,demo如下:
    int a = 10;
    System.out.println("a = " + a);
    

    2. 通过java.lang.Object类的toString()定义来看实际使用中会出现什么情况?

    1. 这是jdk里面的源码
    public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
    

    2.在实际使用会出现什么情况

    Person p1 = new Person();
    System.out.println(p1.toString());//TestEquals.Person@15db9742
    System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法
    
    1. 当我们打印一个对象的引用时,实际是默认调用这个对象的toString()方法
    2. 当打印的对象所在类没有重写Object中的toString()方法时,默认调用的是Object类中toString()方法。
    3. 返回此对象所在的类及对应的堆空间对象实体的首地址值
    4. 当我们打印对象所 在类重写了toString(),调用的就是已经重写了的toString()方法,一般重写是将类对象的属性信息返回。
    //手动实现
    public String toString(){
    return " Person:name=" + name +" age=" + age;
    }
    
    1. toString()快速自动调用,重写
      第一步
      **快速生成toString()方法**
      第二步
      生成toString
      第三步
      生成toString
    展开全文
  • toString方法: Object类中定义有public String toString()方法,其返回值是 String 类型。 Object类中toString方法的源码为: public String toString() { return getClass().getName() + "@" + Integer....

    toString方法:

    Object类中定义有public String toString()方法,其返回值是 String 类型。

    Object类中toString方法的源码为:

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

    默认会返回“类名+@+16进制的hashcode”。在打印输出或者用字符串连接对象时,会自动调用该对象的toString()方法。

    重写toString()方法

    实际使用过程中,可能需要重写toString方法,以便于我们使用,示例如下:

    @Override
    public String toString() {
        return "Human [name=" + name + ", age=" + age + "]";
    }

     

    展开全文
  • public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 问题:为什么要将hashCode()转换为16进制。答:hashCode()方法返回的是此对象在内存中的地址,是用×××...
  • Object类自带toString实例方法,所以任何类天生都有toString方法,它返回指定对象的类名+@+十六进制内存地址。 但是String类型对象返回的却是用戶设定的字符串,是否说明String类重写的toString方法? ...
  • 从 java.lang.Object 原码中可以看到 toString() 方法,此方法是一个公有方法,所有的类都会继承此方法,也可以复写此方法。 /** * Returns a string representation of the object. In general, the * {@code ...
  • get_class--返回对象的类名stringget_class([object$obj])返回对象实例obj所属类的名字。如果obj不是一个对象则返回FALSE。<?phpclassPerson{public$username;public$age;public$height;public$weight;...
  • java实体类toString方法

    2017-12-25 11:11:42
     返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:  getClass().getName() + '@' + Integer....
  • 在 Object 中还有一个重要的 toString 方法,它会返回表示对象值的一个字符串。下面是一个典型的例子。Point 类的 toString方法将返回下面这样的字符串:  java.awt.Point[x=10,y=20] 绝大多数(但不是全部)的 ...
  • Idea使用教程

    千次阅读 多人点赞 2019-07-11 11:13:32
    返回上一级调用 class SimpleCalc { public int value; public void calculate() { value += 7; } } public class MultiCalc extends SimpleCalc { public void calculate() { value -= 3; } public ...
  • get、set方法对私有变量进行操作,toString()方法返回字符...默认的toString()方法返回的是一个这样一个字符串:类名@此对象哈希码。 public class User { private String num; private int age; private String n
  • Java—toString()方法

    2020-04-25 12:04:37
    Object类中toString()的使用: 当我们输出一个对象的引用时,实际上就是调用当前对象的toString(),System.out.println()方法实际上也调用了toString方法 Object类中toString()的定义: public String toString...
  • 当进行测试时,需要知道是否得出正确的数据,比如打印一个对象,看看...当使用echo 打印的时候,会自动调用__toString方法,并打印出输出信息同时我们可以用一些获取类名 ,方法名的函数,来组织我们的自定义信息。 PH
  • 本文实例讲述了javascript实现类似java中getClass()得到对象类名的方法。分享给大家供大家参考。具体如下: 在javascript中没有能够返回特定类型名的函数 如一个对象 console.log(obj); 得到的是[object ...
  • Java类里面的toString方法

    万次阅读 多人点赞 2018-06-05 22:30:24
    那么我们今天要说的toString方法就是存在于Object里面的一个方法,换而言之,所有的类都会具有这个方法。那么这个方法的作用是什么呢?我自己总结为:需要把该类转换成String类型的时候就会调用这个方法。 例如:在...
  • 类类toString()方法 (Class class toString() method) toString() method is available in java.lang package. toString()方法在java.lang包中可用。 toString() method is used to represent the string of an ...
  • 实体类重写toString方法

    千次阅读 多人点赞 2019-03-22 11:27:04
    1、用途: toString()方法 一般... toString()是一种自我描述方法本身返回的是 getClass().getName() + "@" +Integer.toHexString(hashCode()); 也就是类名 + @ +hashCode的值 代码示例: package cn.sh.ideal...
  • toString()方法讲解及toString()方法重写

    万次阅读 多人点赞 2018-08-05 09:47:49
    toString()方法是在Object类里面的方法,它返回的是String型的数据:类名+@+哈希值的16进制形式 public String toString() {  return getClass().getName() + "@" + Integer.toHexString(hashCode())...
  • Lombok之@ToString使用

    万次阅读 2019-10-12 10:41:29
    在java.lang.Object中有个实例方法方法toString,这个方法是一个对象的自我描述。在源码中有这样一句注释,It is recommended that all subclasses override this method.即推荐所有的子类重新该方法,因为该方法在...
  • public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。 简介: public String toString()返回该对象的...
  • ## 1. 参数传递 ### 1.1 类名作为形参和返回值(应用) * 1、类名作为方法的形参 ... 方法的返回值是类名,其实返回的是该类的对象 实际传递的,也是该对象的【地址值】 ...
  • C#重写ToString()

    2021-08-19 21:58:00
    C#中所有的类均继承Object,同样继承了Object中的ToString(),直接调用将会返回类名,往往使用中我们希望它按照我们的想法转换成字符串,这就需要重写ToString() Object中定义如下: // // 摘要: // Returns a...
  • toString方法,其返回值类型为String类型,用于返回表示对象值的字符串,返回类名和它的引用地址(散列码 hashCode) toString方法是Object类中的一个实例方法,所有的java类都是Object的子类,因此所有的java对象都...
  • toString 方法

    2021-01-14 01:11:23
    java所有类的父类是Object类,toString()是Object类的方法,如果你没有进行重写操作,调用toString()返回的是你这个对象在堆内存中的物理地址信息;如果进行了重写,返回的是你重写后的信息;一般重写后用于开发时,...
  • Object类的toString方法

    千次阅读 2019-05-05 15:26:36
    Object类的toString()方法 源码 public String toString() 返回该对象的字符串表示。...Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符...
  • java覆盖toString()方法的意义

    千次阅读 2020-09-19 10:06:11
    如果不加以覆盖,调用一个对象的toString方法会返回一个描述该对象的字符串,默认情况下返回一个由该对象所属的类名,at符号@、以及该对象十六进制形式的内存地址组成的字符串。一般这个字符串的信息量,作用不是很...
  • 默认返回:全类名+@+哈希值的十六进制,【查看 Object 的 toString 方法】 子类往往重写 toString 方法,用于返回对象的属性信息 重写 toString 方法,打印对象或拼接对象时,都会自动调用该对象的 toString 形式 ...
  • java中toString方法详解

    千次阅读 2018-03-27 13:10:13
    1、Object类中定义有toString方法,用于返回对象的字符串表示(一个可以表示该对象属性内容的字符串),返回的字符串形式为 “类名@hashCode值”。下面看Object类中的源码: public String toString() { return ...
  • Object类之toString方法和equals方法 位于rt.jar\java\lang\Object.class  注意:Object类是所有类的父类(Java中只有一个根基类,C++中有多个),若没有明确使用extends关键字明确表示该类继承哪个类,那么它就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,794
精华内容 35,517
关键字:

tostring返回类名