我是Java的新手,正在阅读有关对象关系映射的信息。我发现这个链接上的一个术语对象/关系不匹配的Hibernate
谁能用Java解释什么是对象/关系不匹配。我也从haacked.com上了解到它,但无法正确获取它。
我在有效的Java中经历了“相等”方法的概念,然后在下面找到了以下代码:
@Override
public boolean equals(Object o) {
if (o instanceof CaseInsensitiveString)
return s.equalsIgnoreCase(((CaseInsensitiveString) o).s);
if (o instanceof String) // One-way interoperability!
return s.equalsIgnoreCase((String) o);
return false;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我无法获得特定的行((CaseInsensitiveString) o).s。现在,我从这段代码中了解到的是对象“ o”被类型转换为CaseInsensitiveStringClass。现在是什么).s意思。
String s1 ="abc";
String s2 = new String("abc");
当我们比较两者时
S1 S2 ==; 它返回false
当我们将它与s1.hashCode()== s2.hashCode进行比较时,它返回true
我知道(==)检查引用id的.它在上面的比较中返回true,因为上面的hashCode被保存到同一个桶里?请给我解释
我在java中编写代码并输出为2 equals 11.My代码是
public class StringPrct
{
public static void main(String[]args)
{
String s= 1+1+" equals "+1 +1;
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是为什么我没有得到输出2 equals 2.