创建了多少字符串对象(String.format())?

时间:2015-06-01 09:07:43

标签: java string instance

与我的同事发生争执后,我们无法找到解决方案。所以我的问题

for(int i = 0; i < 2; i++) {
    String.format("Variable i = %d", i);
}

在运行此代码期间将创建多少变量? 我有一个意见,这里可以创建4个变量:

  1. “变量i =%d”,
  2. “变量i =%d” - 在两个循环步骤中都将创建一个用于格式化的对象
  3. “变量i = 0”,
  4. “变量i = 1” - 结果字符串。
  5. 我是对的吗?

1 个答案:

答案 0 :(得分:3)

"Variable i = %d"是一个字符串文字,因此它将被放入字符串池中而不会创建两次。因此,您总共有三个字符串: "Variable i = %d""Variable i = 0""Variable i = 1"