java - 如何重新分配和增加字符串变量的值
问题描述
我在 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);
解决方案
字符串在java中是不可变的。在您的 C++ 版本中,您似乎正在创建一个大小为nom
+ 1的空字符数组。
您不能将一个空字符数组分配给 Java 中的字符串。好吧,您可以创建一个充满 的 String '\u0000'
,但是在那之后您将永远无法修改您的 String ,所以我真的看不到目的。
编辑:我认为您只想将名称设置为值nom
,以便您可以执行以下操作:
public void setNombre(String nom){
this.name = nom;
}
但这不是您的 C++ 代码所做的。
推荐阅读
- node.js - 合并接口时覆盖 TypeScript 中的 `any`
- plsql - 如何使用 JSON 在 ORDS 中返回大文本(超过 32k)
- algorithm - 将浮点数转换为具有给定总和的整数
- javascript - 添加自定义单元格图像/叠加水印
- c++ - 从仅存储非零元素的链表中显示稀疏矩阵
- c - 错误 -
不是指向兼容类型的指针 - c# - WPF MVVM DataGrid 内容不适合行高变化
- ios - 更新到 Xcode 10.2 后出现 PDFKit 的问题。有什么办法解决吗?
- java - 使用 Volley 提取整数
- ios - iOS 12.2 上的 PDFKit 崩溃