java - 当常量字符串不在池中时是否正确?
问题描述
我在露天有一个代码:
Map properties = propertyHelper.getNodeProps(nodeRef)
QName linkedType = QName.createQNameWithValidLocalName("http://www.emc-consulting.ru/model/linked/1.0" ,"linked_type");
Object collectionOfLinkedObjects = properties.get(linkedType);
似乎linkedType QName 中的字符串不在字符串的池中,因为它们的哈希码与属性中的哈希码不同。为什么?我认为在编译时默认情况下,放置在 "" (配额)中的每个字符串都会实习到池中。我可以在调试器中看到哈希码。当我使用常量时,一切都很顺利。谢谢!
解决方案
推荐阅读
- python - 根据名称划分列
- python-3.x - 从python3中的url获取令牌
- javascript - 如何从存储 url 获取 firebase 存储路径?
- python - Python 等价于 C++ __LINE__
- javascript - 具有行跨度/列跨度的 DataTables.net 对于大型表无法正常工作
- java - 无法解析符号“PlaceBuilder”
- android - 访问嵌套的 JSON 值第一个元素
- c# - Rider IDE - 后退一步
- azure - 无法使用 Azure 门户访问 Key-Vault
- kubernetes - KOPS 创建 kube-apiserver 失败并带有未知标志的集群:--enable-admission-plugins