java – 每次我使用String时,它是否会创建一个新的String对象?
发布时间:2020-12-15 04:21:05 所属栏目:Java 来源:网络整理
导读:假设我需要从 Java hashmap迭代地检索相同键的值. for(int i=0; iINTEGER.MAX; i++) map.get("KEY"); 在这种情况下,每次调用map.get(“KEY”)时都会创建“KEY”字符串吗?我想知道是否总是更好地拥有一个String常量,或者无关紧要. 解决方法 不会.字符串常量
假设我需要从
Java hashmap迭代地检索相同键的值.
for(int i=0; i<INTEGER.MAX; i++) map.get("KEY"); 在这种情况下,每次调用map.get(“KEY”)时都会创建“KEY”字符串吗?我想知道是否总是更好地拥有一个String常量,或者无关紧要. 解决方法
不会.字符串常量会自动实现,因此任何相同的字符串文字都会引用内存中的相同对象.
关于此的更多信息:http://www.xyzws.com/Javafaq/what-is-string-literal-pool/3 一个例子: String s1 = "Test"; String s2 = "Test"; String s3 = new String("Test"); s1 == s2;//Evaluates to true,because they are the same object (both created with string literals) s1 == s3;//Evaluates to false,because they are different objects containing identical data (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |