StringBuilder对JAVA的最大容量有字符限制吗?
StringBuilder url=new StringBuilder();
stmt = connnection.createStatement();
String sql="SOME QUERY";
rs = stmt.executeQuery(sql);
while(rs.next())
{
String emailId=rs.getString("USER_EMAIL_ID");
url.append(emailId);
}
字符串生成器变量“url”是否具有最大容量,或者它可以容纳所有内容?
Java9引入了JEP 254:压缩字符串。这允许通过在字节数组中存储字符来更有效地存储字符串。如果所有字符都是拉丁文1,则每个字符使用一个字节,否则每个字符使用两个字节。
所以答案是:如果启用了紧凑字符串(默认),并且您的StringBuilder
仅包含拉丁1字符,则最大大小为Integer.MAX_VALUE
*,否则为Integer.MAX_VALUE/2
*。
*或者稍微少一点,请参阅“Java数组是否有最大大小?
如果您使用此链接,可能会清除更多Oracle文档字符串生成器缓冲区容量
现在您要声明任何StringBuilder类的Capacity,然后为此定义一个构造函数StringBuilder
。
< code > StringBuilder(int init capacity):-创建一个具有指定初始容量的空字符串生成器。
在这里,由于参数int
,StringBuilder
Class可以达到的最大容量将为2147483647。
在< code>StringBuilder类中有各种关于容量上下文的方法,这些方法也考虑< code>int类型的参数。
void setLlong(int newLlong):-设置字符序列的长度。如果newLlong小于long(),字符序列中的最后一个字符将被截断。如果newLlong大于long(),则在字符序列的末尾添加空字符。
void ensureCapacity(int minCapacity):-确保容量至少等于指定的最小值。
这些方法也接受< code>int类型的参数。因此,使用这些方法或构造函数,您将能够生成一个最大容量为< code>2147483647的对象。
是的,它有最大整数2147483647(技术上)的容量限制。
StringBuilder
在内部保存char[]
object中的字符,数组的大小有限制。在其他线程上阅读更多信息
问题内容: 在Java中,StringBuilder是否有最大字符限制? StringBuilder变量“ url”是否具有最大容量,或者它可以容纳所有内容? 问题答案: 是的,它的最大整数容量有2147483647(技术上)的限制。 在内部将特性置于对象中,并且数组的大小受到限制。
问题内容: 我知道这可能是一个非常笨拙的问题,但是我没有找到可以获取此信息的可靠可靠资源。 在Android应用程序中,我试图通过继续向其添加更多数据来将数据保留在String中。最后,当用户关闭应用程序或单击“保存按钮”时,我将其登录到数据.csv文件中。 我想知道一个简单的String在Java中可以容纳多少数据? ,这样,即使String数据类型用完分配的内存,应用也不会崩溃。顺便说一句,我
问题内容: 我正在尝试Sphere Online Judge(SPOJ)的“下一个回文”问题,在该问题中,我需要找到最多100万个整数的回文。我曾考虑过使用Java的函数来反转字符串,但是它们是否允许字符串这么长? 问题答案: 你应该能够得到一个长度为String的字符串 总是2147483647(2 31 - 1) (由Java规范定义,阵列的最大尺寸,这对于内部存储String类用途) OR
介绍 在JDK提供的StringBuilder中,拼接字符串变得更加高效和灵活,但是生成新的字符串需要重新构建StringBuilder对象,造成性能损耗和内存浪费,因此Hutool提供了可复用的StrBuilder。 使用 StrBuilder和StringBuilder使用方法基本一致,只是多了reset方法可以重新构建一个新的字符串而不必开辟新内存。 StrBuilder builder =
如果UTF-8是8位,不意味着最多只能有256个不同的字符吗? 前128个代码点与ASCII中的相同。但是它说UTF-8可以支持多达百万个字符? 这是怎么回事?
问题内容: 我的朋友给我发了一个问题,他在一次关于字符串对象的Java认证模拟考试中看到了一个问题: 调用此方法时将创建多少个字符串对象?考试给出的正确答案是3。但是我认为是5。 “嗨” “ 5” “ HI5” “H” “H” 我错了吗? 问题答案: String makeStrings() { String s = “HI”; //String literal s = s + “5”; //co