java中的String类型 博客分类: java语言 javaString类型
程序员文章站
2024-03-18 15:38:28
...
关于String的类型
===========================
String是字符串数据类型
char name是定义的字符类型
字符可以看做是字母如a、b、c,简单说就是只能表示一个字符
name一般是由一个字符串(多个字符组成),所以用String类型
=================
在java中 String 不再是 基本的数据类型! String是个封装类! 但是没有对应的原始类型!
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,Integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
=================
String是一个final的类,String name;也是定义一个String类型的变量
================
关于String的大小的限制
======================================
String str="abc...";这样定义的字符串是存在字符串池中的
String str=new String("abc...")这样定义的字符串是在堆内存中的,然后被栈内存的对象str引用
所以字符串是对象,是在内存中存储的,不像基本数据类型有各自的长度,字符串应该是只要是内存不满,是没有长度限制的
================
严格来说,String确实有长度限制。
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考String的构造方法String(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。
Java的数组大小还有没有别的限制?事实上数组大小不能超过Java堆的大小,而Java堆的最大尺寸可以通过启动参数指定,如果Java堆开得足够大,数组的最大长度是可以不断增大的。
所以,理论上,字符串不能超过2G个字符,少于2G个字符都有可能。
但编码时有需要注意的地方,采用明文的方式,如果超过65534个字节,可能报编译错误,可参考下列网站(有一处错误,整型考虑到符号位,最大只到2G)。
参考资料:http://webservices.ctocio.com.cn/353/11530353.shtml
=================
-
===========================
String是字符串数据类型
char name是定义的字符类型
字符可以看做是字母如a、b、c,简单说就是只能表示一个字符
name一般是由一个字符串(多个字符组成),所以用String类型
=================
在java中 String 不再是 基本的数据类型! String是个封装类! 但是没有对应的原始类型!
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,Integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
=================
String是一个final的类,String name;也是定义一个String类型的变量
================
关于String的大小的限制
======================================
String str="abc...";这样定义的字符串是存在字符串池中的
String str=new String("abc...")这样定义的字符串是在堆内存中的,然后被栈内存的对象str引用
所以字符串是对象,是在内存中存储的,不像基本数据类型有各自的长度,字符串应该是只要是内存不满,是没有长度限制的
================
严格来说,String确实有长度限制。
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考String的构造方法String(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。
Java的数组大小还有没有别的限制?事实上数组大小不能超过Java堆的大小,而Java堆的最大尺寸可以通过启动参数指定,如果Java堆开得足够大,数组的最大长度是可以不断增大的。
所以,理论上,字符串不能超过2G个字符,少于2G个字符都有可能。
但编码时有需要注意的地方,采用明文的方式,如果超过65534个字节,可能报编译错误,可参考下列网站(有一处错误,整型考虑到符号位,最大只到2G)。
参考资料:http://webservices.ctocio.com.cn/353/11530353.shtml
=================
-
推荐阅读
-
java中的数据类型和默认值 博客分类: java语言 java数据类型数据类型默认值
-
java中的String类型 博客分类: java语言 javaString类型
-
java中的各种数据类型在内存中存储的方式 博客分类: java java内存虚拟机
-
关于Boolean类型在flex与java中间传递的问题 博客分类: Flex/BlazeDS booleanflexjavamapping
-
Java如何将long类型的日期值转换成日期类型Date 博客分类: Java datejoda日期毫秒long
-
java 中的String 和new String 的区别 博客分类: JDK//Demo Stringnew String()
-
Java中char数组(字符数组)与字符串String类型的转换方法
-
简单谈谈Java中String类型的参数传递问题
-
Java中char数组(字符数组)与字符串String类型的转换方法
-
简单谈谈Java中String类型的参数传递问题