java toString()方法的使用和详解

2023-05-16

java toString方法是使用和详解

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

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java toString()方法的使用和详解 的相关文章

  • 如何将 javax.persistence.Column 定义为 Unsigned TINYINT?

    我正在基于 MySQL 数据库中的现有表创建 Java 持久性实体 Bean 使用 NetBeans IDE 8 0 1 我在这个表中遇到了一个字段 其类型为 无符号 TINYINT 3 我发现可以执行以下操作将列的类型定义为 unsign
  • Java:无法从同一包中的不同类访问静态变量

    这很奇怪 因为我有一个可以访问 Frame dimension getWidth 的 Character 类 及其伙伴 getHeight 但是当我想在 Map 类中使用它时 Eclipse 强调了它并且无法给我反馈 运行该程序最终会出现
  • 通过SOCKS代理连接Kafka

    我有一个在 AWS 上运行的 Kafka 集群 我想用标准连接到集群卡夫卡控制台消费者从我的应用程序服务器 应用程序服务器可以通过 SOCKS 代理访问互联网 无需身份验证 如何告诉 Kafka 客户端通过代理进行连接 我尝试了很多事情 包
  • 如何在 Firebase 远程配置中从 JSON 获取值

    我是 Android 应用开发和 Firebase 的新手 我想知道如何获取存储在 Firebase 远程配置中的 JSONArray 文件中的值 String 和 Int 我使用 Firebase Remote Config 的最终目标是
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • Spring Boot自动装配存储库始终为空[重复]

    这个问题在这里已经有答案了 每次我进入我的服务类时 存储库似乎都没有自动连接 因为它不断抛出 NullPointerException 谁能帮我检查一下我缺少什么吗 这是我的代码 演示应用程序 java package com exampl
  • 通往楼梯顶部的可能路径

    这是一个非常经典的问题 我听说谷歌在他们的面试中使用过这个问题 问题 制定一个递归方法 打印从楼梯底部到楼梯顶部的所有可能的独特路径 有 n 个楼梯 您一次只能走 1 步或 2 步 示例输出 如果它是一个有 3 级楼梯的楼梯 1 1 1 2
  • Integer.parseInt("0x1F60A") 以 NumberformatException 结束

    我尝试从数据库中获取长字符串内的表情符号代码 格式如下 0x1F60A 所以我可以访问代码 但它将是String 起初 我尝试通过执行以下操作来转换变量tv setText beforeEmo getEmijoByUnicode int e
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 是否可以通过编程方式查找 logback 日志文件?

    自动附加日志文件以支持电子邮件会很有用 我可以以编程方式设置路径 如以编程方式设置 Logback Appender 路径 https stackoverflow com questions 3803184 setting logback
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • Java实现累加器类,提供Collector

    A Collector具有三种通用类型 public interface Collector
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就

随机推荐

  • Ubuntu中切换默认python版本

    在ubuntu中切换默认python版本 有时候需要在默认python中使用不通版本的python xff0c 这里对于该操作做一下记录 当前版本 xff08 Ubuntu 18 04 xff09 python3 结果是 Python sp
  • 计算机图形学的一些公式

    说明 本文公式由 数字图像处理 xff08 第三版 xff09 中摘录而得 xff0c 供以后参考 正文 1 二维图像仿射变换矩阵图 2 双线性内插 v x y 61 a x 43 b y 43 c x y 43 d 3 双三次内插 v x
  • 基于opencv的四轴飞行器寻迹系统(一)——linux下opencv的安装

    文章的内容本身是为2017全国大学生电子设计大赛飞行器方向题准备的 xff0c 在七月底的时候寻迹的图像处理方面已经完成的差不多了 xff0c 能实现非常精确的巡线 xff0c 实际测试即使背景不是白布 xff0c 也可以轻松分辨出道路 拟
  • setStyleSheet用法

    https www cnblogs com aheng123 p 5630761 html 使用setStyleSheet来设置图形界面的外观 xff1a QT Style Sheets是一个很有利的工具 xff0c 允许定制窗口的外观 x
  • 裸辞2个月找不到工作,我慌了

    3月初裸辞 xff0c 找了近2个月的工作了 xff0c 至今还没找到 xff0c 感觉心好慌 xff0c 不知道该怎么办了 xff1f 裸辞多久找不到工作 xff0c 心态会崩 xff1f 找不到工作的时候压力很大 xff0c 有人说自信
  • CMakeList 详解

    CMake 构建脚本是一个纯文本文件 xff0c 您必须将其命名为 CMakeLists txt xff0c 并在其中包含 CMake 构建您的 C C 43 43 库时需要使用的命令 如果您的原生源代码文件还没有 CMake 构建脚本 x
  • 【Python源码阅读】PYC 文件剖析

    pyc 文件相信大家见怪不怪 xff0c 大家经常在 pycache 里面见到这些文件 这些文件存储了 python 编译出来的字节码文件 xff0c 还有一些元信息 xff08 例如版本号 xff0c 对应文件的修改时间 xff09 接下
  • 【小米手环7】使用 Zeus + 表盘自定义工具 为小米手环7开发和安装小程序

    有关 Zepp OS Zepp OS 是华米开发的一个 RTOS xff0c 运行在手表 手环等设备上 最新发布的小米手环7 7NFC 搭载的就是由华米研发的 Zepp OS 相比与之前小米手环搭载的 RTOS xff0c Zepp OS
  • 使用memoize解决PEG解析器无法左递归的问题

    本篇文章是个人对 Guido 有关 Packrat PEG 解析器文章的处理左递归部分的理解和总结 左递归 众所周知 xff0c PEG 解析器的一个缺陷就在于无法解析具有左递归的文法 xff0c 而大多数情况下 xff0c CFG 使用左
  • 观测器计算频率与效果对比

    文章目录 速度环内计算 8KHz 速度环内计算 xff0c 加400Hz低通滤波相位延迟 电流环内计算 16KHz 观测器带宽160Hz xff0c 800HzLPF观测器带宽236Hz xff0c 无LPF观测器带宽236Hz xff0c
  • Docker 10张图带你深入理解Docker容器和镜像

    这篇文章希望能够帮助读者深入理解Docker的命令 xff0c 还有容器 xff08 container xff09 和镜像 xff08 image xff09 之间的区别 xff0c 并深入探讨容器和运行中的容器之间的区别 题外话 xff
  • Nginx 多进程模型

    Nginx 整体结构 Nginx运行在企业内网的边缘节点 xff0c 也就是最外层 xff0c 也就是边缘节点 它处理的流量是其他应用服务器处理流量的数倍 xff0c 甚至是几个数量级 在应用场景下所有的问题都会被放大 所以有必要去了解ma
  • 海康威视SDK 整合到springboot(二)

    上篇连接 xff1a 海康威视SDK告警上传功能整合到springboot xff08 一 xff09 上篇的只是兼容Windows系统 xff0c 此篇写兼容windos和Linux的一个整合 还是下载好sdk xff0c 将所需的so文
  • JS手写防抖与节流

    1 概念 xff1a 防抖 xff1a 指定内只执行一次 xff0c 如果指定时间内再次被触发 xff0c 则重新开始计时 实现主要需要利用闭包 xff0c 定时器 xff0c arguments和this指向 xff0c 立即执行 节流
  • QT 读取txt文件的几种方法

    废话不说直接上代码 xff11 xff0e 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QString displayString QFile file 34 home alvin text txt 34 if
  • socket本地多进程通信基本使用方法和示例

    目录 前言 xff1a socket是什么 socket基本原理框图 socket基本函数 1 socket 函数 2 bind 函数 3 connect 函数 4 listen 函数 5 accept 函数 6 read write se
  • STM32串口读取一帧数据USART_IT_IDLE

    stm32 串口读取数据中断 USART IT RXNE xff1a 读取到一个数据产生中断USART IT IDLE xff1a 读取到一帧数据产生中断 以前串口读取一帧数据的方法 xff1a 收到数据后重置定时器的值 xff0c 等到定
  • Vivado连不上目标板(Target)

    可能是Vivado没把JTAG驱动装上 xff0c JTAG驱动在Vivado安装目录X Xilinx Vivado 2015 4 data xicom cable drivers nt64 digilent xff0c 双击install
  • 图解跨域请求、反向代理原理,对前端更友好的反向代理服务器 - Caddy

    写在开头 本文采用图文解析 结合实战的方式进行网络原理解析 xff0c 帮助大家去掌握一些网络知识 xff0c 并了解 Caddy 的基本使用 xff08 见下图 xff09 本人计划在近几年将持续输出深度好文 xff0c 如果对这类文章感
  • java toString()方法的使用和详解

    java toString方法是使用和详解 1 toString 方法2 通过java lang Object类的toString 定义来看实际使用中会出现什么情况 xff1f 1 toString 方法 toString 方法在Objec