我有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);
答案 0 :(得分:1)
字符串在Java中是不可变的。在您的C ++版本中,您似乎正在创建一个nom
+ 1大小的空字符数组。
您不能在Java中将空字符数组分配给String。好的,您可以创建一个充满'\u0000'
的字符串,但是之后您将永远无法修改您的字符串,因此我真的看不到它的目的。
编辑:我认为您只想将名称设置为值nom
即可:
public void setNombre(String nom){
this.name = nom;
}
但这不是您的C ++代码所要做的。