java中的字符串长度问题。

mmhhllRen 2004-07-19 11:14:46
一般的String类型的长度是256,
但java的String是对象,我试过了>256没问题。
高手们,谁能给详细的说明一下这个问题呀!
我觉得是应为Java中String是对象类型的过,但具体的情况说不出?
...全文
1167 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
anihc_001 2004-07-19
  • 打赏
  • 举报
回复
JAVA字符串长度是机器动态逻辑分配的,只要不超出内存可用空间的大小应该是不会出问题的.
而一般情况下,一个CHAR的长度是TWO BYTES ,内存容量一般有128M,可以支持N多的字符啊.
yanchang 2004-07-19
  • 打赏
  • 举报
回复
用了好长时间了还真没遇到过String不够用的

哦,关键是太大了就要考虑buffer了
hl_longman 2004-07-19
  • 打赏
  • 举报
回复
studying
Chinatosun 2004-07-19
  • 打赏
  • 举报
回复
class
shine333 2004-07-19
  • 打赏
  • 举报
回复
java的这些个优势是因为它诞生在无数巨人的肩膀之上,

将来,无数的巨人也将诞生在这个巨人之上
binny 2004-07-19
  • 打赏
  • 举报
回复
java的字符串长度最长可以达到Integer.MAX_VALUE

也就是2147483647

够楼主用了吗
lsq2008 2004-07-19
  • 打赏
  • 举报
回复
Delphi中的老String类有长度限制问题!
但新AnsiString 没有这个问题
java中同样动态分配,只受可用的物理内存的限制!!!
QSmile 2004-07-19
  • 打赏
  • 举报
回复
delphi 里的 string 也没有限制的呀.
happyegg 2004-07-19
  • 打赏
  • 举报
回复
那你要去问为什么delphi出错,而不应该来问java为什么不出错。VC中的CString也不会出错的。
mmhhllRen 2004-07-19
  • 打赏
  • 举报
回复
/*
* 创建日期 2004-7-19
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package c07;

/**
* @author mahl
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/

import java.lang.*;

public class TestStrBuffer {

public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");
sb.append("abcdefghijklmnopqrstuvwxyz");

String cs = "abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz"
+"abcdefghijklmnopqrstuvwxyz";
System.out.println(sb.toString());
System.err.println(cs);


}
}
偶的程序,cs为什么不超长,要是delphi就出错了。
umbrella1984 2004-07-19
  • 打赏
  • 举报
回复
???不知道你在说什么

String是处理过的
gong1 2004-07-19
  • 打赏
  • 举报
回复
楼主说的一般的是什么意思?
好像通常就这样吗?
不是吧。
除了极少数长度有限制。好像没有什么限制啊。
^_^
blasterboy 2004-07-19
  • 打赏
  • 举报
回复
字符串没有什么长度限制!

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧