为了账号安全,请及时绑定邮箱和手机立即绑定

Java操作字符串数组中的子字符串/字符

Java操作字符串数组中的子字符串/字符

守着一只汪 2021-07-01 14:19:39
我在 JAVA 中有一个字符串数组,例如:String[] fruits = {"banana", "apple", "orange"};如何访问字符串成员的字符/子字符串?例如,我想显示第一个成员“banana”的第二个字符“a”并将其更改为“b”。我应该创建一个等于我的数组成员的新字符串,进行操作并将新字符串分配给我的数组列表,如下所示:string manipulate = fruits[0];//do manipulation on 'manipulate' then:fruits[0] = manipulate;或者有内置的或更好的方法?
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

Java 的Strings 是不可变的,这意味着您无法更改它们。相反,正如@AshishSingh 在评论中指出的那样,您需要创建一个新的String.


只需这样做:


fruits[0] = manipulate(fruits[0]);

在这里,manipulate()是您的函数,它接受一个输入字符串,根据需要对其进行操作,然后return是被操作的string.


public String manipulate(String oldStr) {

    StringBuilder newStr = new StringBuilder(oldStr);

    newStr.setChar(1, 'b')

    return newStr.toString();

}

我使用的StringBuilder是可变对象,因此可以重新分配元素。我将第二个字符设置为 'b',然后return是新的String.


查看完整回答
反对 回复 2021-07-07
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

JavaString对象是不可变的,因此您无法修改其内部值。


char charArray[] = fruits[index].toCharArray();

charArray[2] = 'b';

修改字符数组中的元素后,将其放回fruits数组中。


fruits[index] = String.valueOf(charArray);

现有的fruits[index]将被新的String.



查看完整回答
反对 回复 2021-07-07
  • 2 回答
  • 0 关注
  • 219 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信