应该没有吧。因为strcpy()的参数都是指针型的。String是类对象。是我的推断。
解决方案 »
- java调用外部程序问题
- 下面这段程序的输出结果是?在线等帮助
- 设计一个算法,在一个字符串中找出其中的回文字符串(plaindrome)
- 100分求:java如何根据当天的日期,计算N个工作日后,日期是哪天?
- 线程通信的问题
- 我写的io的错误在那?怎么不执行?(在线)
- 弱弱的问
- 类在什么时侯可以定义为private
- 向大家请教问题,为表诚意,先给300分。(如果每个帖子的有效回答超过10个,我就会再开一个,直到问题圆满解决)
- 初学java,对throw 抛出个新异常不很理解。请哪为高人可以帮忙解释下么?谢谢
- 为何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 只是又引用了一个新的对象而已。