Java toString解析
Java toString解析
我们知道,Java所有的类都是Object类的派生类,toString就是Object类中的一个方法。
我们看看它的源代码。
public String toString()
{
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
可以看见,toString方法返回的是一个字符串。该字符串由 类名+ "@" + 此对象的哈希码(无符号16进制)。
当我们没有重写Object类中的toString方法时,在调用System.out.println()直接传入对象名的时候,会自动调用对象的toString方法,打印出上述的内容。
如:
class Man{
public Man() {
}
}
public class Test {
public static void main(String[] args) {
Man Terry = new Man();
System.out.println(Terry);
}
}
// 结果
// Man@8efb846
既然我们知道在方法或定义,强制类型为String时,直接使用对象名会隐性调用toString方法,那么我们自然可以重写toString方法实现自己的目的。
import java.util.*;
class Man{
static int code = 0;
private int number = -1;
public Man() {
code++;
number = code;
}
@Override
public String toString() {
return "I am No." + number;
}
}
public class Test {
public static void main(String[] args) {
Man Terry = new Man();
Man Tom = new Man();
Man Mary = new Man();
System.out.println(Terry);
System.out.println(Tom);
System.out.println(Mary);
}
}
// 结果
/*
I am No.1
I am No.2
I am No.3
*/
Java toString解析的更多相关文章
- java基础解析系列(六)---深入注解原理及使用
java基础解析系列(六)---注解原理及使用 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer ja ...
- 使用JAVA API 解析ORC File
使用JAVA API 解析ORC File orc File 的解析过程中,使用FileInputFormat的getSplits(conf, 1)函数, 然后使用 RecordReaderreade ...
- java基础解析系列(六)---注解原理及使用
java基础解析系列(六)---注解原理及使用 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer缓存及 ...
- java基础解析系列(一)---String、StringBuffer、StringBuilder
java基础解析系列(一)---String.StringBuffer.StringBuilder 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bu ...
- Java注解解析-搭建自己的注解处理器(CLASS注解使用篇)
该文章是继Java注解解析-基础+运行时注解(RUNTIME)之后,使用注解处理器处理CLASS注解的文章.通过完整的Demo例子介绍整个注解处理器的搭建流程以及注意事项,你将知道如何去搭建自己的注解 ...
- java代码解析二维码
java代码解析二维码一般步骤 本文采用的是google的zxing技术进行解析二维码技术,解析二维码的一般步骤如下: 一.下载zxing-core的jar包: 二.创建一个BufferedImage ...
- java读取解析application.yml
java读取解析application.yml 不用依赖spring容器,可单独使用. bug已修改... 第一步.首先要2个jar <!-- properties和yaml格式化 --> ...
- Java Sax解析
一. Java Sax解析是按照xml文件的顺序一步一步的来解析,在解析xml文件之前,我们要先了解xml文件的节点的种类,一种是ElementNode,一种是TextNode.如下面的这段boo ...
- Java XML解析工具 dom4j介绍及使用实例
Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...
随机推荐
- RocketMQ-2.RocketMQ的负载均衡
目录 RocketMQ的负载均衡 producer对MessageQueue的负载均衡 producer负载均衡 系统计算路由MessageQueue 自定义路由MessageQueue Consum ...
- 何为引用法---细谈C++引用
何为引用...给已有的变量取别名 ; int &a = num;//此处 &不是取地址 而是标明 a是引用变量(a 是 num的别名) 注意: 1.引用必须初始化 2.引用一旦初始化 ...
- Python多线程的事件监控
设想这样一个场景: 你创建了10个子线程,每个子线程分别爬一个网站,一开始所有子线程都是阻塞等待.一旦某个事件发生:例如有人在网页上点了一个按钮,或者某人在命令行输入了一个命令,10个爬虫同时开始工作 ...
- P5596 【XR-4】题 笔记
P5596 [XR-4]题 其实这题我昨天没做出来--所以今天写一下笔记 昨天我还信誓旦旦地说这一定是一道黑题\(OTZ\).果然菜是原罪. 另外吐槽一下科技楼机房频繁停电,昨天写了两小时的树刨和倍增 ...
- 【Weiss】【第03章】队列例程
前几个例程还是相当简单的,把链表即时改了一下就是队列了. 还有想了一下,决定这种例程的代码放法是:先把测试代码默认折叠放在前面,然后把实现代码默认展开放在后面. 测试代码如下: #include &l ...
- Elasticsearch 之聚合分析入门
本文主要介绍 Elasticsearch 的聚合功能,介绍什么是 Bucket 和 Metric 聚合,以及如何实现嵌套的聚合. 首先来看下聚合(Aggregation): 什么是 Aggregati ...
- tomcat启动时间5分钟左右org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [342,445] milliseconds.
org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance ...
- Angularjs优点
数据双向绑定,前后台的更改都可以随时生效, 提供mvc开发模式模式,剥离前端各部分代码,使代码便于维护管理. 简化了你写DOM操作
- rest_framework之认证与权限 token不存数据库认证
1. 认证 : 介绍: UserInfo表包含name , pwd , user_type三个字段 UserToken表包含token与user(关联UserInfo表) 当用户登录成功将随机字符串写 ...
- wr720n v4 折腾笔记(二):刷入不死Uboot
0x01 前言 接着上节刷入Openwrt开始说起,此次开始刷入不死Uboot,刷入之后就可以在Uboot里面随便刷机,再也不怕成砖了. 固件附件地址: 下载地址1(还是之前一的包) flash文件地 ...