当前位置: 首页 > 面试题库 >

比较StringBuilder对象的有效方法是什么

孙成益
2023-03-14
问题内容

好吧,我有两个StringBuilder对象,我需要在Java中对其进行比较。我知道我可以做的一种方法是

sb1.toString().equals(sb2.toString());

但这意味着我要创建两个String对象,还有没有更好的方法来比较StringBuilder对象。也许您不需要创建其他对象的地方?


问题答案:

如您所知,StringBuilder继承equals()java.lang.Object,因此StringBuilder.equals()仅在将同一对象作为参数传递时才返回true。它并
没有 比较两个内容StringBuilder小号!

如果您查看源代码,您将得出结论,最有效的比较(不涉及创建任何新对象)将是比较.length()返回值,然后如果它们相同,则比较charAt(i)每个返回值。字符。



 类似资料:
  • 我试图比较两个对象,看看它们是否相同,使用hamcrest for flex-Unit,但是当对象有子对象时,它只是抛出一个错误: 我希望它做一个资产(…,hasProperties(…);在子对象上。 有没有办法得到,或者我应该创建一个自定义匹配器? 编辑 我要测试的对象结构的一个示例: 由于expected和objectUnderTest具有相同的结构,测试应该通过,但返回错误: 另外,如果有

  • 问题内容: 这样做的动机是我对StringBuilder最佳实践的一个较早问题的回答(“如意算盘”)。如果StringBuilder是可扩展的,则特定于域的子类可以扩展其流畅的接口,这将使StringBuilder传递给构建较大字符串部分的许多方法的代码更加严格。 我正在考虑为番石榴人士提供一些建议-也许是StringBuilder代表。 与仅使用final方法相比,StringBuilder用作

  • 本文向大家介绍JavaScript比较两个对象是否相等的方法,包括了JavaScript比较两个对象是否相等的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript比较两个对象是否相等的方法。分享给大家供大家参考。具体如下: 在Python中可以通过cmp()内建函数来比较两个对象所包涵的数据是否相等(数组、序列、字典)。但是在javascript语言中并没有相关的实现。

  • 我是Java的初学者,我想弄清楚这一点。在方法中传递对象比通过类实例调用方法更有效吗?在我看来是一样的。假设下面的示例代码: 如果我定义了类,这个传递给对象方法的方法将在控制台上打印。而且,通常当我使用void方法时,我需要在main方法中编写内容,以便在控制台上打印void方法,但是当我在方法中传递对象时,我不需要这样做。

  • 问题内容: 我正在学习数组,基本上我有一个可以收集姓氏,名字和分数的数组。 我需要编写一个将姓氏与名字进行比较的方法,以便可以按姓氏开头的字母顺序对列表进行排序,然后,如果两个人的姓氏相同,则将对姓氏进行排序。 我很困惑,因为我书中的所有信息都是在比较数字,而不是对象和字符串。 到目前为止,这是我编写的代码。我知道这是错误的,但至少可以解释我在做什么: 我知道和符号是错误的,但是就像我说的那样,我

  • 两个 NavigableString 或 Tag 对象具有相同的HTML或XML结构时, Beautiful Soup就判断这两个对象相同. 这个例子中, 2个 <b> 标签在 BS 中是相同的, 尽管他们在文档树的不同位置, 但是具有相同的表象: “<b>pizza</b>” markup = "<p>I want <b>pizza</b> and more <b>pizza</b>!</p>"