在 C 语言中,如果我从同一个字符串
中减去一个字符串
,则会得到NULL
。
因此,如果 str1 = str2
,str1 = str2 - str1 = NULL
。
如何在 Java 中实现相同的 null 操作/结果?
谢谢。
最佳答案
您无法在 C 或 Java 中对字符串进行减法。
在 C 中,您可以减去两个地址字符串。如果它们是相同的地址,您将得到零。如果它们不是同一地址,则只有它们位于同一分配内存块中时,您才会获得有意义的结果。
将存储在不同内存位置的两个相等字符串的地址相减,可以得到一个非零结果。您可以使用 strcmp
或 strncmp()
测试 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/