我们可以使用compareTo()方法和==运算符比较Java中的字符串。
comapareTo()方法-的的compareTo()方法比较两个字符串lexicographically.The比较是基于在字符串的每个字符的Unicode值。在字典上比较此String对象表示的字符序列与自变量字符串表示的字符序列。
==运算符-您可以使用==运算符比较两个字符串。但是,它比较给定变量的引用而不是值。
equals()
String类的方法接受String作为参数,并将当前字符串与指定对象进行比较。当且仅当参数不为null并且是一个String对象,表示与此对象相同的字符序列时,结果为true
public class Example { public static void main(String[] args) { String str1 = "tutorials", str2 = "point"; int retval = str1.compareTo(str2); Boolean bool = str1.equals(str2); System.out.println(bool); System.out.println(str1==str2); if (retval < 0) { System.out.println("str1 is greater than str2"); } else if (retval == 0) { System.out.println("str1 is equal to str2"); } else { System.out.println("str1 is less than str2"); } } }
输出结果
false false str1 is less than str2
问题内容: 我希望用户输入一个字符串,如果该字符串与我的regex表达式不匹配,则希望输出一条消息,然后用户再次输入一个值。 问题是,即使字符串与正则表达式匹配,它也将其视为不匹配。 我的正则表达式:这应该等于- 我的循环: 问题答案: 这些方法检查字符串是否相等,而不检查匹配的正则表达式。 只需替换为。您还应该卸下外部方括号。
问题内容: 有没有一种方法可以在不对位串宽度为0进行硬编码的情况下进行非零位串测试? 例如,假设我有两个表,Users和Features,每个表都带有掩码,我想对此进行测试: 匹配隐式非零结果。但是,SQL需要一个显式的布尔结果,而不是隐式的强制转换,例如: 由于多种原因,我不想在此查询中进行硬编码(或其他任何方式)。 测试或导致类型错误。奇怪的是,我可以测试,但这给出了错误的答案,因为Postg
我使用以下sql将字符串与日期oracle进行比较,但得到的结果不正确。我尝试了to\u date、to\u char选项,但没有得到任何正确的结果。 地点日期1:10-JUN-2101.00.00.000000000 AM日期2:10-JUN-2021 01:00 上述sql返回上述Date1和Date2的行,尽管它们相等。Date1也是varchar格式,Date2是带有本地时区格式的时间戳(
想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我想知道是否可以将字符串数组值与字符串进行比较,例如;我有一个字符串数组,上面有5个值我想知道哪个索引值具有a或b。我想到了一个主意,但没有成功。 基本上,如果索引0是a,则应打印“Apple”,如果是b,则应打印“ball”,依此类推。有没有办法将值或字符串数组与字符串进行比较?
我试图编写一个程序,其中我必须做与模板(本质上是一个字符串)之间的字符串列表的比较。我不知道什么是使用的术语,但它将是更多的日志刮削程序,如果这是有帮助的。 null 这个想法是将输入语句(1-4)与模板字符串(a-b)匹配,如果它们匹配,那么我需要对它们进行操作。Like 1和4匹配句子b,但2不匹配。 提前感谢您的帮助/指示。
问题内容: 我想用几行代码来说明Java中要比较两个字符串(),必须使用而不是operator 。 这是我尝试过的东西: 我期待的输出是:,因为在测试中,我实际上是在比较两个引用(即地址)而不是对象的内容。 但事实上,我这样的输出:! 浏览我发现,一些Java实现将优化上述代码,以便在互联网和 将 实际引用相同的字符串。 好吧,当在Java中比较字符串(或对象)时,如何使用运算符演示问题? 问题答