protected char buffer[];
......
@Override
public String toString() {
// Create a copy, don't share the array
String value = new String(this.buffer, 0, count);
if (this.buffer.length <= 1024 * 8) {
bufferLocal.set(new SoftReference<char[]>(this.buffer));
}
this.buffer = null;
return value;
}
这段代码正常执行没什么问题,(前提是调用了toString()后就结束对此对象的使用)但是如果用IDE debug的时候监视当前对象,IDE就会调用toString(),会执行this.buffer = null,当前对象状态就悄无声息的被修改了,我被它坑的调查了半个小时,不知道有没有人曾经跟我同样遭遇,看来还是最好不要在toString修改对象状态,还是增加一个如下方法吧
public String toStringAndClose() {
// Create a copy, don't share the array
String value = new String(buffer, 0, count);
if (buffer.length <= 1024 * 8) {
bufferLocal.set(new SoftReference<char[]>(buffer));
}
buffer = null;
return value;
}
@Override
public String toString() {
// Create a copy, don't share the array
return new String(buffer, 0, count);
}
分享到:
相关推荐
每个项目我都必用的工具类,使用非常简单,放到项目目录中,java对象继承这个ToString类就可以,用在代码日志里特别方便,还支持过滤特定字段,满足日志保密性要求
java 的eclipse或idea等 定义变量时 直接引入lombok.jar包 在类外部 引入@AllArgsConstructor @NoArgsConstructor @Data 简便方法引入getter/setter/tostring等方法
以下是对在JAVA中toString方法的作用进行了详细的分析介绍,需要的朋友可以参考下
java内常用包,date类,toString的使用方法
1.自动为指定包下面的所有JAVA 文件书写toString方法代码。 2.自动为指定Class模板类书写toString方法代码。 3.使用该类前最好做备份,编码格式一定要提前设置。
js中toString方法3个作用.docx
主要介绍了Java Object toString方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、学生类的创建和使用 ○1创建一个Student类,包括的域有学号,...然后再显示这个对象的全部信息(调用toString方法,或在println方法中直接输出使其自动调用toString方法)。 注:以上类中所有域都是private类型。
主要介绍了Java中构造方法set/get和toString的使用详解,构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化,需要的朋友可以参考下
Object类在Java里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较...
toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据。这篇文章主要介绍了java中的 toString()方法,需要的朋友可以参考下
Java 中的 Boolean toString() 方法及其示例
重写JAVA 程序 tostring()函数,以满足运行时跟综、排错,用log4j的trace级别输出,正常系统运行时不影响性能。 方便生产环境有问题时不停机排查。 主要用于VO或PO。
主要介绍了浅谈Java编程ToString()方法重写的意义,还是挺不错的,这里分享给大家,供朋友们学习和参考。
JavaUtil类中其中包含的方法有: 1.获取指定长度的随机字符串 2.获得资源文件夹路径(类似项目中src目录,需传入包名) 3.为指定类添加toString方法代码 4.为指定包名下的所有java文件添加toString方法代码 5.将...
面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将功能封装进对象,强调具备了功能的对象。 面向对象是基于面向过程的。
Java面向对象 1 1 学习方法与要求 1 2 面向对象语言与面向过程语言的区别 7 3 面向对象?什么对象? 8 4 什么是类? 9 5 如何创建一个类Class? 10 6 如何使用类创建对象 10 7 引用与实例 11 8 实例属性与实例方法 ...
主要介绍了java中的tostring方法的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来一起学习一下吧
收集整理了一些toString的实现方式,相信其中一定有你喜欢的,还等什么赶紧下载吧,评论后积分返回
1. 编写一个类实现复数的运算。...toString():把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中和分别为实部和虚部的数据。 2. 编写Java Application程序使用上题定义的类,检查类定义是否正确。