博客
关于我
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/

你可能感兴趣的文章
UML— 活动图
查看>>
oracle sqlplus已停止工作,安装完成客户端后sqlplus报“段错误”
查看>>
oracle SQLserver 函数
查看>>
oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
查看>>
Oracle Statspack分析报告详解(一)
查看>>
oracle tirger_在Oracle中,临时表和全局临时表有什么区别?
查看>>
Oracle Validated Configurations 安装使用 说明
查看>>
oracle where 条件的执行顺序分析1
查看>>
oracle 中的 CONCAT,substring ,MINUS 用法
查看>>
Oracle 中的 decode
查看>>
oracle 中表一对多取多方的最新的一条数据
查看>>
oracle 使用 PL/SQL Developer创建表并插入单条、多条数据
查看>>
oracle 使用leading, use_nl, rownum调优
查看>>
oracle 修改字段类型方法
查看>>
Oracle 修改数据库表数据提交之后进行回滚
查看>>
UML-总结
查看>>
oracle 内存参数示意图
查看>>
Oracle 写存储过程的一个模板还有一些基本的知识点
查看>>
UML- 配置图(部署图)
查看>>
oracle 切割字符串加引号_使用Clean() 去掉由函数自动生成的字符串中的双引号...
查看>>