博客
关于我
Object toString方法
阅读量:478 次
发布时间:2019-03-06

本文共 1510 字,大约阅读时间需要 5 分钟。

Java中的toString方法及其应用

在Java编程中,toString方法是Object类的一个重要方法,用于将对象转换为字符串表示。这种转换在日常编程中非常有用,尤其是在打印或显示对象信息时。以下将详细探讨Java中的toString方法及其应用。

1. toString方法的默认行为

当我们在System.out.println()中直接使用一个对象作为参数时,系统会自动调用该对象的toString方法,将其转换为字符串。例如:

Dog dog = new Dog();
System.out.println(dog); // 调用dog的toString方法

如果Dog类没有重写toString方法,默认的行为是返回类名和对象的哈希值。例如:

class Dog {
public String toString() {
return "Dog@ hash"; // 这是默认的实现
}
}

当dog对象被打印时,输出将类似于:

Dog@ hash

如果Dog类重写了toString方法:

public String toString() {
return "I am a cool dog";
}

那么打印结果将是:

I am a cool dog

2. 字符串连接的正确方式

在Java中,字符串连接有特定的规则:

  • 使用单引号引起来的字符(')表示字符类型。
  • 使用双引号引起来的字符串("")表示字符串类型。
  • 对象不能直接作为参数传递给System.out.println(),除非它实现了toString方法。

例如:

String str = "Hello" + new TestToString();  // 正确
System.out.println("Hello" + new TestToString()); // 正确

如果直接使用对象:

System.out.println(new TestToString());  // 错误

会因为TestToString不实现toString方法而无法编译。

3. 自定义对象的toString方法

为了实现自定义的字符串表示,可以在类中重写toString方法:

public class TestToString {
public static void main(String[] args) {
String str = "" + new TestToString();
System.out.println(str);
}
}

如果TestToString类没有重写toString方法,打印结果将显示类名和哈希值:

TestToString@6e00321

如果重写了toString方法:

public class TestToString {
@Override
public String toString() {
return "My custom toString method";
}
}

打印结果将是:

My custom toString method

注意事项

  • 正确使用字符串连接:避免使用不正确的字符串连接方式,否则可能导致编译错误。
  • 重写toString方法:如果需要自定义对象的字符串表示,务必在类中重写toString方法。
  • 遵循Java编码规范:确保代码清晰易读,避免不必要的复杂化。

通过以上方法,开发者可以更好地控制对象的字符串表示,提升代码的可读性和维护性。

转载地址:http://cgtbz.baihongyu.com/

你可能感兴趣的文章
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySql 创建函数 Error Code : 1418
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>