该StringBuffer的 对象通常是安全的使用多线程环境中多个线程可能试图访问同一StringBuffer的 同时对象。该StringBuilder的 是用于替换线程安全StringBuffe [R类和它的作品多,因为它已经没有更快的同步 方法。如果我们在单个线程中执行大量的String操作,则使用此类时可以获得很多性能 。
public class CompareBuilderwithBufferTest { public static void main(String []args) { stringBufferTest(); stringBuilderTest(); } public static void stringBufferTest() { long startTime = System.nanoTime(); StringBuffer sb = new StringBuffer(); for (int i=0; i < 1000; i++) { sb.append((char) 'a'); } System.out.println("StringBuffer test: " + (System.nanoTime() - startTime)); } public static void stringBuilderTest() { long startTime = System.nanoTime(); StringBuilder sb = new StringBuilder(); for (int i=0; i < 1000; i++) { sb.append((char) 'a'); } System.out.println("StringBuilder test: " + (System.nanoTime() - startTime)); } }
输出结果
StringBuffer test: 192595 StringBuilder test: 85733
问题内容: 我试图制作一个随机的颜色生成器,但我不希望在arrayList中显示类似的颜色 我真的很困惑,请帮助:) 问题答案: 在Color类中实现相似方法。 然后使用: 要实现likeTo: 看一下RGBA颜色空间中的颜色相似度/距离,并以编程方式找到相似的颜色。一种简单的方法可以是: ((r2-r1)2 +(g2-g1)2 +(b2-b1)2)1/2 和: 但是,您应该根据类似的想象找到X。
我基本上是在寻找一个单元测试框架,我可以用它来比较不重写equals和hascode方法的POJO。我看了一下JUnit、Test NG和Mockito,但它们似乎没有解决这个问题。
本文向大家介绍我们如何在Java中使字符串比较不区分大小写?,包括了我们如何在Java中使字符串比较不区分大小写?的使用技巧和注意事项,需要的朋友参考一下 我们可以通过各种方式比较Java中的字符串- 使用方法-的的compareTo()方法两个字符串按字典顺序进行比较。比较是基于字符串中每个字符的Unicode值。在字典上比较此String对象表示的字符序列与自变量字符串表示的字符序列。 示例
我有一个枚举< code>Foo 下面我正在尝试检查我的枚举中是否包含字符串。 当我发送或for 时,这是有效的。当我发送<code>第一个</code>或<code>第二个</code>给<code>fooStr</code>时,如何使它工作?
问题内容: 到目前为止,我一直在程序中使用运算符比较所有字符串。但是,我遇到了一个错误,将其中一个更改为错误,并修复了该错误。 是==坏?什么时候应该使用它,不应该使用它?有什么不同? 问题答案: 测试引用是否相等(它们是否是同一对象)。 测试值是否相等(在逻辑上是否为“相等”)。 在调用之前进行检查,因此您不必(在JDK7起可用,在Guava中也可用)。 因此,如果要测试两个字符串是否具有相同的
此外,我重写了hashCode()以: 现在,即使两个对象都是@dog0,print语句也会打印false。想知道为什么控制台: