java中的equals方法

2024-03-05

我读过有关equals()java中的方法。我听说它只是根据价值进行比较。但是为什么在下面的情况下它返回 false,其中值相同但类型不同?

public class test {
    public static void main(String[] args) 
    {
        String s1="compare";
        StringBuffer s2=new StringBuffer("compare");
        System.out.println(s1.equals(s2));  //false 
    }
}

A String实例不能等于aStringBuffer实例。

看一下实现:

public boolean equals(Object anObject) {
if (this == anObject) {
    return true;
}
if (anObject instanceof String) { // this condition will be false in your case
    String anotherString = (String)anObject;
    int n = count;
    if (n == anotherString.count) {
    char v1[] = value;
    char v2[] = anotherString.value;
    int i = offset;
    int j = anotherString.offset;
    while (n-- != 0) {
        if (v1[i++] != v2[j++])
        return false;
    }
    return true;
    }
}
return false;
}

理论上你可以有一个equals当比较两个不属于同一类的对象时(不在String类),但我想不出这样的实现有意义的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的equals方法 的相关文章

随机推荐

  • 深入了解 skew() 函数

    我真的需要了解如何skew xdeg 函数有效所有研究似乎都没有解释 x 角度如何影响其他点并像这样扭曲它 我需要知道是否有任何数学公式或一种方法可以预期使用特定角度的结果 附 我已经阅读了大量文档 其中最好的一个是DevDocs其中说 这
  • 当 R 中的生存分析中违反比例假设时,如何对协变量与时间的相互作用进行建模

    在 R 中 当比例检验 使用 coxph 显示违反了 Cox 模型中的比例假设时 合并协变量和时间之间的交互项的最佳方法是什么 我知道您可以使用分层或与时间项交互 我对后者感兴趣 我无法在互联网上找到明确的解释以及如何执行此操作的示例 在使
  • 如何使用数字序列解压可变参数模板参数?

    如何 或者是否可以 使用数字序列解压参数包 例如 template
  • Android - 自定义小部件未更新

    我正在尝试为我的应用程序制作一个小部件 但它没有更新 我只需要更改文本视图文本并在按下按钮时打开一个活动 但它们都不起作用 代码 public void onUpdate Context context AppWidgetManager a
  • Xcode 10 和 super.tearDown

    从 Xcode 10 1 可能是 10 开始 当我创建单元测试文件时 我没有调用 super tearDown 和 super setUp 我在发行说明中没有看到这样的变化 在文档中https developer apple com doc
  • 快速、无分支的 unsigned int 绝对差

    我有一个程序 它花费大部分时间计算 RGB 值之间的欧几里德距离 无符号 8 位的 3 元组 Word8 我需要一个快速 无分支的 unsigned int 绝对差函数 这样 unsigned difference Word8 gt Wor
  • 可以使用 Twitter Bootstrap 来实现 Modernizr 吗?

    使用 Twitter Bootstrap 实现 Modernizr 可以吗 我目前正在将 Bootstrap 与 Google 的 html5shiv 结合使用 我想知道是否可以使用 Modernizr 来代替 或者只是为旧版 IE 浏览器
  • 在 Linux 上检查连接的蓝牙设备的电池电量

    如何检查已连接蓝牙设备的电池电量 该设备在 Android 上显示电池电量 因此我假设该设备支持基于 GATT 的电池服务 https www bluetooth com specifications gatt viewer attribu
  • 如何在 openLayer 地图中加载本地 gpx 文件?

    我认为标题很清楚 我正在使用 openLayer 库 v4 6 5 并且我试图在加载页面时在地图中加载本地 GPX 文件 在官方文档中 在 GPX 数据示例中 https openlayers org en latest examples
  • TSLint 错误:: 节点解释器路径不正确。请检查口译员设置

    我是 Angular 的新手 很想知道错误是什么 如何解决呢 我正在使用网络风暴 IDE 这就是我在 Intellij 中摆脱这个警告的方法 改变这个 to this
  • Sagemaker:如何在 Predictor 中设置 content_type(Sagemake > 2.0)?

    请求帮助解决以下错误 调用 InvokeEndpoint 时发生错误 ModelError 操作 从模型收到客户端错误 415 和消息 不支持内容类型应用程序 八位字节流 支持 内容类型是文本 csv 文本 libsvm 这是相关代码 fr
  • 箭头函数“预期表达式”语法错误

    我想改造这段代码 var formatQuoteAmount function tx return Currency toSmallestSubunit tx usd USD var quoteAmounts res transaction
  • 如何在列表上触发 Traits 静态事件通知?

    我正在通过traits https github com enthought traits PyCon 2010 的演示 http python mirocommunity org video 1690 pycon 2010 introdu
  • 将数据帧写入 csv 文件,其中 NA 值为空白

    有一个dataframe named cnbd 例如 cnbd data frame 1 2 3 NA NA 5 因此表达式 dim cnbd 1 give 1 我想写一个像这样的数据框cnbd到 csv write file filena
  • React 路由器:在每个 导航上执行自定义函数

    抱歉 如果这个问题已经得到回答 但是有没有一种方法可以在每个导航 最好不创建自定义包装纸 我想在应用程序内的每次导航之前将一些信息放入 sessionStorage 中 Thanks 您可以使用onClick执行任何操作 例如 gt con
  • Django 1.3 中链接静态文件的问题

    我在 Windows XP 上运行 django 1 3 python 2 7 我正在尝试在我的 django 应用程序的静态文件夹中设置 css 模板如下所示 生成的 HTML 如下所示
  • 正则表达式排除 [ 除非前面有 \

    如何编写一个正则表达式来接受包含任意数量的除 之外的任何字符的表达式 除非 前面是 例子 this is text this also this isn t any more 从上面的文字来看 this is text this also
  • @Html.DropDownList 宽度

    问 如何设置 Html DropDownList 的宽度 而不是在 css 中 Html DropDownList ListId String Empty new style width 250px no go 该的第二个论点下拉列表 ht
  • 与有向边的最大加权二分匹配

    我知道计算最大加权匹配的各种算法加权 无向二分图 即分配问题 例如 匈牙利算法 贝尔曼 福特算法甚至 Blossom 算法 适用于一般图 即非二分图 但是 如果二分图的边是 如何计算最大加权匹配加权和定向 我希望能够提供具有多项式复杂度的算
  • java中的equals方法

    我读过有关equals java中的方法 我听说它只是根据价值进行比较 但是为什么在下面的情况下它返回 false 其中值相同但类型不同 public class test public static void main String ar