【问题标题】:String manipulation, subString() method which modifies the original String字符串操作,修改原始字符串的 subString() 方法
【发布时间】:2011-06-26 19:34:26
【问题描述】:

这个问题可能很傻,但我在谷歌上找不到答案。

问题:StringBuffer 或 StringBuilder 或 String 本身中是否有任何方法,与 subString(int startIndex, int endIndex) 相同,但修改了原始 String ?

例如:

StringBuffer testString = new StringBuffer ("myTestString");
StringBuffer subString = testString.newSubStringMethod(0,1);
Sysout(testString);
Sysout(subString);

我希望打印的输出是:

TestString
my

如果不是,当我们自己实现这种方法时,需要注意什么。

【问题讨论】:

  • +1 好问题。只是出于好奇-您需要它做什么?无论如何,副本通常很便宜。
  • @dark_charlie 抱歉回复晚了。我正在为您的问题输入回复,而我的句子本身让我意识到我的设计是错误的。我去重构了整个字符串处理逻辑。无论如何,这是一个很长的故事。但现在我不想要 subStringMethodThatDoesntExist() 了。

标签: java string stringbuilder


【解决方案1】:

您可以使用StringBuffer#deleteStringBuilder#delete 获得类似的结果

【讨论】:

  • 这个解决方案不会最终打印TestString 两次,这不是 OP 想要的吗?
【解决方案2】:

我可以用一个简单的字符串回答这个问题。为此,假设您声明了string s,因此只需编写:

s = subString(int startIndex, int endIndex);
//this is because a string is immutable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多