java - Java中字符串相减2等于null

标签 java

在 C 语言中,如果我从同一个字符串中减去一个字符串,则会得到NULL。 因此,如果 str1 = str2str1 = str2 - str1 = NULL。 如何在 Java 中实现相同的 null 操作/结果?

谢谢。

最佳答案

您无法在 C 或 Java 中对字符串进行减法。

在 C 中,您可以减去两个地址字符串。如果它们是相同的地址,您将得到零。如果它们不是同一地址,则只有它们位于同一分配内存块中时,您才会获得有意义的结果。

将存储在不同内存位置的两个相等字符串的地址相减,可以得到一个非零结果。您可以使用 strcmpstrncmp() 测试 C 字符串相等性。 (应该首选后者。)

在Java中,如果要判断两个字符串是否是同一个对象,可以使用相等运算符。例如,如果 str1 == str2 如果两者是同一个对象,则返回 true。

如果要确定两个字符串是否相等,可以使用equals()方法。例如,如果两个字符串相等,str1.equals( str2 ) 将返回 true。如果其中一个可能为 null,您可以使用 Objects.equals( str1, str2 )

关于java - Java中字符串相减2等于null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31190279/

相关文章:

java - 如何在spring-jpa中保存基于实体的父表到子表的数据

java - 如何在 JFrameMenu 子菜单中并行放置两个元素?

Java:如何在不使用 actionListener 的情况下检测到用户已经完成了他们的保存名称?

java - 使用 [href] 转义 html anchor 标记

java - Hbase读取性能异常变化

java - Java中静态变量的文本顺序和初始化顺序

java - 中断未知线程

java - @GeneratedValue 注解

java - 图像文件未从 servlet 加载到 JSP 中

java - 在 Java 中将 float 的内容移至 long