java中的tostring方法的具体用法
我们知道调用对象的toString()方法会直接输出对象的属性信息,但是具体怎么实现的?以及如何更好地实现它呢?现在来学习下。
通过java文档我们能知道,toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址。
在进行String类与其他类型的连接操作时,自动调用toString()方法,demo如下:
Date now = new Date(); System.out.println("now = " + now);//相当于下一行代码 System.out.println("now = " + now.toString());
实际应用中,可以根据需要在用户自定义类型中重写toString()方法,如Stirng类重写了toString()方法,返回字符串的值,dome如下
System.out.println(s1);//相当于下一行代码 System.out.println(s1.toString());
基本数据类型转换为String类型是,调用了对应包装类的toString()方法,demo如下:
int a = 10; System.out.println("a = " + a);
现在来看下jdk里面的源码是怎么样的:
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
现在我们来实践使用它:
Person p1 = new Person(); System.out.println(p1.toString());//TestEquals.Person@15db9742 System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法
当我们打印一个对象的引用时,实际是默认调用这个对象的toString()方法
当打印的对象所在类没有重写Object中的toString()方法时,默认调用的是Object类中toString()方法。
返回此对象所在的类及对应的堆空间对象实体的首地址值。
当我们打印对象所 在类重写了toString(),调用的就是已经重写了的toString()方法,一般重写是将类对象的属性信息返回。
我们也可以自定义一个tostring()方法:
//手动实现 public String toString(){ return " Person:name=" + name +" age=" + age; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
java中的 toString()方法实例代码
前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> datas 形式的集合处理. 处理要求把集合数据转换成字符串形式,格式为 :子集合1数据+"#"+子集合2数据+"#"+....+子集合n数据. 举例: 集合数据 :[[1,2,3],[2,3,5]] 要求转成为 "[1,2,3]#[2,3,5]"
-
浅谈Java编程ToString()方法重写的意义
上一篇文章我们介绍了java tostring方法重写代码示例,接下来,我们简单聊聊java编程tostring()方法重写的意义. 1.toString()就是是重写,对于一般的对象来说都会有这个方法,其实这个方法的目的,主要就是将对象按字符串的方式输出出来:打个比方,比如一个People类,里边有name,age这两个属性, 如果你People p = new People(); p.toString(); 这么做的话,默认输出就是一个内存地址. 那么你会想到重写ToString():这个方
-
java tostring方法重写代码示例
当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.println(对象名)或者System.out.println(对象名.toString())输出的是此对象的类名和此对象对应内存的首地址 如果想自定义输出信息必须重写toString()方法 注意事项 1.必须被声明为public 2.返回类型为String 3.方法的名称必须为toString,且无参数
-
Java中区别.toString() ,(String),valueOf()方法
在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等.下面对这些方法一一进行分析. 方法1:采用 Object.toString()方法请看下面的例子: Object object = getObject(); System.out.println(object.toString()); 在这种使用方法中,因
-
Java中Object toString方法简介_动力节点Java学院整理
一.Object类介绍 Object类在Java里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object.所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗.所有的类,不管是谁,都是从它继承下来的. 二.toString方法介绍 一个字符串和另外一种类型连接
-
浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别
Exception e中e的getMessage()和toString()方法的区别: 示例代码1: public class TestInfo { private static String str =null; public static void main(String[] args) { System.out.println("test exception"); try { if(str.equals("name")){ System.out.println
-
java中的tostring方法的具体用法
我们知道调用对象的toString()方法会直接输出对象的属性信息,但是具体怎么实现的?以及如何更好地实现它呢?现在来学习下. 通过java文档我们能知道,toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址. 在进行String类与其他类型的连接操作时,自动调用toString()方法,demo如下: Date now = new Date(); System.out.println("now = " + now);//相当于下一行
-
浅谈java中==以及equals方法的用法
equals 方法是 java.lang.Object 类的方法. 有两种用法说明: (1)对于字符串变量来说,使用"=="和"equals()"方法比较字符串时,其比较方法不同. "=="比较两个变量本身的值,即两个对象在内存中的首地址. "equals()"比较字符串中所包含的内容是否相同. 比如: String s1,s2,s3 = "abc", s4 ="abc" ; s1 =
-
java中重写equals()方法的同时要重写hashcode()方法(详解)
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true: 注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码.如下: (1) 当obj1.equals(obj2)为true时,obj1.hashCode() == obj2.hashCode()必须为true (2) 当obj
-
JavaScript实现Java中StringBuffer的方法
本文实例讲述了JavaScript实现Java中StringBuffer的方法.分享给大家供大家参考.具体如下: Javascript StringBuffer类的实现是通过prototype构造一个StringBuffer类,代码如下: function StringBuffer() { this.__strings__ = new Array(); } StringBuffer.prototype.append = function(str) { this.__strings__.push(
-
重写Java中的equals方法介绍
Java中,只有8种基本类型不是对象,例如:4种整形类型(byte, short, int,long),2种浮点类型(flout, double),boolean, char不是对象,其他的所有类型,不论是对象数组,列表等都扩展了Object类.了解学习Object中方法的设计原理和实现方式有助于更好的学习理解java语言.下面,我们首先学习一下Object中的equals方法. 判断两个对象相等时,JVM首先查找两个对象的hashCode, 如果两者hashCode不同,则返回false;如果
-
Java中覆盖finalize()方法实例代码
本文研究的主要是Java中关于覆盖finalize()方法的一次尝试,具体实现如下. 测试代码 package com.alioo.gc; /** * 执行结果: * */ public class FinalizeEscapeGC{ public static FinalizeEscapeGC instance=null; public void isAlive(){ System.out.println("yes,i am still alive"); } @Override pr
-
Java中break的第三种用法说明
在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的"文明"形式! 我们知道,goto语句会破坏程序的结构,所以我们一般不会去使用这种功能.但是在某些情况下,goto语句对于流程控制很有价值并且结构合法. 比如当退出深度嵌套的一系列循环时,goto语句很好用.虽然Java中保留了goto关键字,但是没有goto语句,也没有任何用到这个关键字的地方,所以为了能够使用类似像goto语句这样的功能,Java
随机推荐
- Python中标准模块importlib详解
- Xcode提高开发效率的代码块分享
- iOS archive保存图片到本地的方法
- python中的字典详细介绍
- javascript奇异的arguments分析
- 深入PHP数据缓存的使用说明
- 用文本文件实现的动态实时发布新闻的程序
- phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案
- python中getaddrinfo()基本用法实例分析
- Android开发基础之创建启动界面Splash Screen的方法
- 举例详解Python中yield生成器的用法
- linux禁止ping的实现实例
- 通过Mybatis实现单表内一对多的数据展示示例代码
- 学习php设计模式 php实现适配器模式
- Node.js返回JSONP详解
- JavaScript表单验证的两种实现方法
- javascript实现的一个图片转移效果
- Android编程闹钟设置方法详解
- 整理了下手动注入脚本命令[带注释]
- 利用Socket.io 实现消息实时推送功能