首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

源码浅谈(一):javatoString()方法

前言:       toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据。   ...(); }   分析这个Collection下的.toString()方法源码,分为几个部分: 1、判断集合是不是空(empty),即集合内有没有数据。...()字符串   由此可见,返回[1, 2]#[2, 3]是官方正确的返回形式,那么对于这个问题,其实在改不了源码的情况下 给得到的字符串后面使用.replaceAll(" ",""); 把字符串的空格都去掉....toString()方法的时候就会执行根类Object的这个.toString()方法。      ...toString()方法   但是他们本身的toString()却有所不同,我们由此可以总结   1、StringBuilder:线程非安全的  StringBuffer:线程安全的       2、

1.1K30

Java实战入门:深入解析Java的`toString()`方法

五、`toString()`方法的进阶应用 六、`toString()`方法在不同场景的实现 七、总结 在Java编程toString()方法是一个非常常用且重要的方法。...本文将详细解析JavatoString()方法,包括其定义、作用、如何正确实现、以及它在实际应用的重要性和最佳实践。...取材自该网站:java方法 一、toString()方法的定义和作用 toString()方法定义在java.lang.Object类,几乎所有Java类都直接或间接继承自Object类,因此所有Java...例如,在集合类(List、Set等)打印元素信息时,重写toString()方法可以提供更直观的对象表示。...} 七、总结 toString()方法Java编程扮演着重要角色,正确实现和使用toString()方法不仅可以提高调试和日志记录的效率,还能增强代码的可读性和可维护性。

8810

Java构造函数、setget方法toString方法使用及注意事项

参考链接: 可以重写Java的私有方法吗 一、构造函数 构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化。...然后我们来了解一下JAVA面向对象编程的封闭性和安全性。封闭性即对类的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。...三、toString()方法 Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。...然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法toString()方法将对象转换为字符串。...Test01{name='CP3'} Test01{name='Rose'} 这样就得到我们想要的信息了,这就是重写toString()在java的基本用法了。

1.8K20

javasynchronized使用方法

,也就是出错的机会,使用了Thread.sleep(10) Java对多线程的支持与同步机制深受大家的喜爱,似乎看起来使用了synchronizedkeyword就能够轻松地解决多线程共享数据同步问题。...接着来讨论synchronized用到不同地方对代码产生的影响: 如果P1、P2是同一个类的不同对象,这个类定义了下面几种情况的同步块或同步方法,P1、P2就都能够调用它们。 1....它锁定的是调用这个同步方法对象。也就是说,当一个对象P1在不同的线程运行这个同步方法时,它们之间会形成相互排斥,达到同步的效果。...它指的就是调用这种方法的对象,P1。可见同步方法实质是将synchronized作用于object reference。...能够判断:假设一个类定义了一个synchronized的static函数A,也定义了一个synchronized 的instance函数B,那么这个类的同一对象Obj在多线程中分别訪问A和B两个方法

30430

何在Java避免equals方法的隐藏陷阱(一)

常见的等价方法陷阱 java.lang.Object 类定义了equals这个方法,它的子类可以通过重载来覆盖它。不幸的是,在面向对象写出正确的equals方法是非常困难的。...下面是Object的equals方法的定义 public boolean equals(Object other) 因为Point类的equals方法使用的是以Point类而非Object类做为参数,...在Java重载被解析为静态的参数类型而非运行期的类型,因此当静态参数类型是Point,Point的equals方法就被调用。然而当静态参数类型是Object时,Object类的equals就被调用。...这个方法的实现使用instanceof操作和做了一个造型。它首先检查这个对象是否是一个Point类,如果是,他就比较两个点的坐标并返回结果,否则返回false。...如果两个对象根据equals(Object)方法是相等的,那么在这两个对象上调用hashCode方法应该产生同样的值 事实上,在Java,hashCode和equals需要一起被重定义是众所周知的。

1.7K80

何在Java避免equals方法的隐藏陷阱(二)

equals和hashCode这个方法的定义现在是基于在这两个会发生变化的域上,因此当他们的域的值改变时,结果也就跟着改变。因此一旦你将这个point对象放入到集合你将会看到非常神奇的效果。...陷阱4:不满足等价关系的equals错误定义 Object的equals的规范阐述了equals方法必须实现在非null对象上的等价关系: 自反原则:对于任何非null值X,表达式x.equals(x...提供给equals方法比较使用的信息不应该包含改过的信息。 对于任何非空值x,x.equals(null)应该总返回false....对于ColoredPoint类自身对象的比较是没有问题的,但是如果使用ColoredPoint和Point混合进行比较就要出现问题。...equals的新定义比老定义检查了更多的情况:如果对象是一个Point对象而不是ColoredPoint,方法就转变为Point类的equals方法调用。

1.6K80

Java script的函数使用方法

前言 什么是函数,就是把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在开发可以反复调用,函数的作用就是封装一段代码,可以重复使用。 1....可以调用多次(重复使用) // 声明函数 function sayHi() { console.log("吃了没?")...return语句 ,那么函数有默认的返回值:undefined 如果函数使用 return语句,那么跟在return后面的值,就成了函数的返回值 如果函数使用 return语句,但是return后面没有任何值...作业: 求1-n之间所有数的和 求n-m之间所有数的和 求2个数的最大值 1.4 函数相关的其它事情 1.4.1 匿名函数与自调用函数 匿名函数:没有名字的函数 匿名函数如何使用: 将匿名函数赋值给一个变量...1.4.2 函数本身也是值 function fn() {} console.log(typeof fn); 函数作为参数 因为函数也是一种值类型,可以把函数作为另一个函数的参数,在另一个函数调用 function

99500

编写高质量的代码—Java开发通用的方法和准则

本博文为《编写高质量代码—改善Java程序的151个建议》一书的阅读笔记。该书从很多方面给予了编写高质量代码的宝贵经验。而且该书应该是那种开发经验越丰富,体会越深的书籍。...在Java开发过程中有很多通用的准则,遵守这些准则能够避免很多不必要的错误发生,让代码的质量更高,下面的内容为书籍第一章《Java开发通用的方法和准则》的阅读笔记。...四、避免带有变长参数的方法重载 变长参数能够提高方法的灵活度和可复用性,不过在使用过程需要注意变长参数必须是方法参数的最后一个参数,同一个方法不能够定义多个变长参数,另外需要特别注意带有变长参数的方法不要进行重载...所以在编写代码时要特别警惕自增的陷阱。 八、少用静态导入 对于静态导入,需要遵循两个规则: 1. 不使用*(星号)通配符,除非是导入常量类或接口; 2....十五、易变业务使用脚本语言编写 脚本语言灵活,便捷、简单,引入脚本语言会让Java更加强大。 十六、慎用动态编译 使用动态编译需要注意以下几点: 1. 在框架谨慎使用。 2.

63010

找到java代码没有被使用的公用方法

最近,我打算对我们项目的代码进行清理,准备把一些没有被使用到的公用方法清理掉,但是我在网络找了一遍,像PMD,Findbugs等静态工具,都只能找到没有被使用的私有方法。...无奈之下,只能直接写代码来实现这个功能,具体代码如下: package com; import java.io.File; import java.io.FileReader; import java.io.RandomAccessFile...,则表示该方法,铁定被使用了       return 0;      }      else if (isIncludeStr(fullPath, codeName))      {       //...= 0; i < classList.size(); i++)    {     //获取一个数据     classObject = classList.get(i);     //得到一个类没有使用的属性列表...unUsedAttrList.isEmpty()))     {      //增加数据      result.addAll(unUsedAttrList);     }     //得到一个类没有使用的属性列表

1.6K10

【小家java】关于ArrayList的trimToSize方法使用

备注:因为我们平时都会多态的方式去处理List,所以我们很少关注ArrayList自己的方法,比如trimToSize方法就是一个例子。...再贴个trimToSize()方法的源码:用Arrays.copyOf(T [],int newLength)这个方法来截取elementData数组。...这下面我给出一个idea的debug查看方法,也算小科普一下: ?...对这个变量View as -> toString就会看到更加详细的信息了。如下elementData的长度确实就是15~~~ ?...但是对于java对内存不敏感的语言了说,基本上没什么必要这么做。我们只需要知道可以这么做就行,但是没有必要麻烦自己。毕竟我们使用list绝大多数希望的还是面向接口去编程,而不是面向实现。

89110
领券