应该没有吧。因为strcpy()的参数都是指针型的。String是类对象。是我的推断。
解决方案 »
- web.xml丢失
- 在前台页面中利用javascript移动图片后怎样在后台用java将移动后的效果生成出来?
- jni技术,本地代码中如何给JAVA中的int变量赋值
- 多线程并发访问mysql 插入记录很慢
- 超菜的问题(java)
- 谁能给我写一个linux下的java调用C代码的例子?我执行老是出问题?
- 在IBM服务器上配置JSP??
- 请问JTABLE在APPLET里可以正常显示吗?
- ★★★祝愿大家新年快乐,心想事成。散分★★★
- 简单的四舍五入问题。弄不明白
- 为何connection中的ResultSet.HOLD_CURSORS_OVER_COMMIT无法使用
- 最最简单的问题,请问怎么在页面中点击按钮后改变按钮名称
直接操作字符串是不可能的,因为 java 中的字符串是不可变对象,即一但生成,其内容就是不可改变的。如果需要可变的字符符,请使用 StringBuffer,但是这个东西,也没有提供 strcpy 这样的方法。虽然限制比较死,但是操作会更安全。String s = "James Fancy";
char[] buffer = new char[s.length];
char[] sbuffer = s.toCharArray();
System.arraycopy(sbuffer, 0, buffer, buffer.length);
String d = new String(buffer);不过这样做一点意义都没有,其作用和 String d = new String(s) 是一样的,即多产生了两个 char[] 对象。
如果你需要取 String 的内容(char 数组),直接用 s.toCharArray() 就可以了,你对这个 char[] 的改变不会影响到 s反正——我还是不明白楼主为什么要这样做。
只不过 C++ 里那个 char[] 可以重复利用
Java 里的 String 由于其是不可变对象,所以你不能不生成新的 String 对象,但是,如果你的字符串内容不变化的话,直接用 newString = oldString 这样赋值会更好。——反正字符串是不可变对象,你也不用担心 oldString 改变了之后会影响到 newString,因为 oldString 就算改变了,原来的 String 对象还在,oldString 只是又引用了一个新的对象而已。