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

用Java中的逻辑运算符进行字符串比较

姚胡媚
2023-03-14
问题内容

当比较两个字符串时,我被告知不应使用逻辑运算符(==)。我们应该使用String.equals(String)进行比较。但是,我看到以下代码符合Hello Friend最新的JDK(1.6_23)并打印出来。我尝试四处搜寻,但找不到任何参考。从什么时候开始发生的?

public class StringComp{
public static void main(String args[]){
        String s = "hello";
        if(s=="hello"){
                System.out.println("Hello Friend");
        }else{
                System.out.println("No Hello");
        }
    }
}

问题答案:

您不应该使用==它,因为它会做其他事情,然后您认为。

在这种情况下,“ hello”将被保存(在字符串插入中读取),因此与您的搅动相同的是“巧合”。

==检查两个事物是否完全相同,而不是它们具有相同的内容。这确实是一个很大的差异,并且某些偶然(虽然可以解释)的“假阳性”没有理由使用此方法

只需使用equals进行字符串比较。

从该站点获取一个示例:http : //blog.enrii.com/2006/03/15/java-string-equality-common-
mistake/

String a = new String ("a");
String b = new String ("a");
System.out.println (a == b);

它返回false,而以下代码返回true。

String a = new String ("a");
String b = new String ("a");
System.out.println (a.equals(b));


 类似资料:
  • 我试图找出如何比较if语句中的字符串。我的大部分代码都可以忽略,但都是针对上下文的。我试图在我的简单的石头、布、剪刀游戏中添加一条信息,当有人在石头、布或剪刀之外输入一根弦时。有人能告诉我我在有星号的部分做错了什么吗? };

  • 问题内容: 运算符和有什么不一样?和运算符|| ?? 而且&和&& ??有什么区别? 谢谢… 问题答案: 主要区别在于,在表达式中,如果为false,则不会进行计算,而在两者中,无论如何都将进行计算。可以说是“ 短路 ”评估。 同样,对于:如果为true,则不会进行评估,而对于两者而言,则无论如何都将被评估。

  • 逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。 表 1 逻辑运算符的用法、含义及实例 运算符 用法 含义 说明 实例 结果 && a&&b 短路与 ab 全为 true 时,计算结果为 true,否则为 false。 2>1&&3<4

  • 本文向大家介绍java代码执行字符串中的逻辑运算方法,包括了java代码执行字符串中的逻辑运算方法的使用技巧和注意事项,需要的朋友参考一下 方式一 这种方式使用js的方式进行运算,使用较简单,但是当运算double类型的四则运算时结果会出现循环小数,运算结果会出现问题. 方式二(能够保证四则运算精度): 以上这篇java代码执行字符串中的逻辑运算方法就是小编分享给大家的全部内容了,希望能给大家一个

  • JavaScript 中有三个逻辑运算符:||(或),&&(与),!(非)。 虽然它们被称为“逻辑”运算符,但这些运算符却可以被应用于任意类型的值,而不仅仅是布尔值。它们的结果也同样可以是任意类型。 让我们来详细看一下。 ||(或) 两个竖线符号表示“或”运算符: result = a || b; 在传统的编程中,逻辑或仅能够操作布尔值。如果参与运算的任意一个参数为 true,返回的结果就为 tr

  • 编写一个程序,不断提示用户从键盘输入整数。当输入的整数为-5或0或大于8时,程序终止。在循环控制条件中使用逻辑和。仔细测试您的程序,以确保满足所有循环终止条件。 公开课{ } 从这个开始,但没能完成。帮助。