在Java中,假设有一个`StringBuilder`对象 `sb` 初始内容为 "Hello",执行以下操作 `sb.append(sb.substring(2,4));`,然后执行 `sb.insert(2, "XY");`,最后执行 `sb.delete(4, 6)`,`sb` 的最终值是什么?
答案解析
首先, `StringBuilder sb` 初始化为 "Hello"。 `sb.append(sb.substring(2,4));` 将 "ll" 添加到`sb`的末尾,此时`sb`为 "Helloll"。 `sb.insert(2, "XY");` 将 "XY" 插入到索引 2 的位置,此时 `sb` 为 "HeXYlloll"。`sb.delete(4, 6);` 删除索引 4 和 5 的字符(不包括 6),也就是删除了 "ll" 之前的 “XY”。此时 sb 为 "Hellol", 因此选项错误。正确的删除操作将 `sb` 变为 "HeXYlloll" 删除第4和第5个元素,变为 "HeXYlol".因此正确答案是 D.
正确答案:D