相关疑难解决方法(0)

短生命对象中的长静态字符串

这可能是一个愚蠢的问题(或者只是让我看起来很愚蠢:)),但是我会对如何在短期对象的上下文中使用长String对象感兴趣.

考虑在cron作业或匿名,命令或类似函数的类中进行长SQL查询.这些是非常短命的类,甚至在大多数时间里都会使用这些长字符串一次.什么是更好的?要构造一个String inline并让它与实例一起收集,或者将它设为静态final,并让它们在内存中无用,直到下一个类实例化为止?

java

11
推荐指数
1
解决办法
224
查看次数

Java字符串和StringPool

public String makinStrings() {
   String m = "Fred47";
   String s = "Fred";
   s = s + "47";
   s = s.substring(0);
   return s.toString();
} 
Run Code Online (Sandbox Code Playgroud)

代码创建了多少个对象?

我做了一个简单的测试:

public static void main(String[] args) {
   String m = "a";
   m += "bc";
   String s1 = "mabc".substring(1);
   String s2 = "abc";

   System.out.println(m == "abc");
   System.out.println(m == s1);
   System.out.println(m == s2);
   System.out.println(s1 == s2);
}
Run Code Online (Sandbox Code Playgroud)

如果m,s1,s2指向同一个对象("abc"),结果不应该是"真,真,真,真"吗?相反,结果是"假,假,假,假"!

java string

2
推荐指数
1
解决办法
737
查看次数

标签 统计

java ×2

string ×1