首页 > 解决方案 > 如何重新分配和增加字符串变量的值

问题描述

我在 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);

标签: javac++

解决方案


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

编辑:我认为您只想将名称设置为值nom,以便您可以执行以下操作:

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

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


推荐阅读