如何重新分配和增加字符串变量的值

时间:2018-12-29 18:56:05

标签: java c++

我有C ++中的下一个示例:

this->name=new char[strlen(nom)+1];

因此,我想知道如何在Java中实现此示例。该课程有一个:

private String name;

我想实现此方法:

public void setNombre(String nom)

我尝试做:

this.name= new String(nom.length()+1);

在C ++中:

this->name=new char[strlen(nom)+1];

我尝试做:

this.name= new String(nom.length()+1);

1 个答案:

答案 0 :(得分:1)

字符串在Java中是不可变的。在您的C ++版本中,您似乎正在创建一个nom + 1大小的空字符数组。
您不能在Java中将空字符数组分配给String。好的,您可以创建一个充满'\u0000'的字符串,但是之后您将永远无法修改您的字符串,因此我真的看不到它的目的。

编辑:我认为您只想将名称设置为值nom即可:

public void setNombre(String nom){
  this.name = nom;
}

但这不是您的C ++代码所要做的。