barriers / 阅读 / 详情

java字符串就是string吗

2023-08-03 19:37:42
共2条回复
CarieVinne

ava字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生。

  一、从根本上认识java.lang.String类和String池

  首先,我建议先看看String类的源码实现,这是从本质上认识String类的根本出发点。从中可以看到:

  1、String类是final的,不可被继承。public final class String。

  2、String类是的本质是字符数组char[], 并且其值不可改变。private final char value[];

  然后打开String类的API文档,可以发现:

  3、String类对象有个特殊的创建的方式,就是直接指定比如String x = "abc","abc"就表示一个字符串对象。而x是"abc"对象的地址,也叫

  做"abc"对象的引用。

  4、String对象可以通过“+”串联。串联后会生成新的字符串。也可以通过concat()来串联,这个后面会讲述。

  6、Java运行时会维护一个String Pool(String池),JavaDoc翻译很模糊“字符串缓冲区”。String池用来存放运行时中产生的各种字符串,

  并且池中的字符串的内容不重复。而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区。

  5、创建字符串的方式很多,归纳起来有三类:

  其一,使用new关键字创建字符串,比如String s1 = new String("abc");

  其二,直接指定。比如String s2 = "abc";

  其三,使用串联生成新的字符串。比如String s3 = "ab" + "c";

  二、String对象的创建

  String对象的创建也很讲究,关键是要明白其原理。

  原理1:当使用任何方式来创建一个字符串对象s时,Java运行时(运行中JVM)会拿着这个X在String池中找是否存在内容相同的字符串对象,

  如果不存在,则在池中创建一个字符串s,否则,不在池中添加。

  原理2:Java中,只要使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。

  原理3:使用直接指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串,池中没有就在池中创建一个,有则罢

  了!但绝不会在堆栈区再去创建该String对象。

  原理4:使用包含变量的表达式来创建String对象,则不仅会检查维护String池,而且还会在堆栈区创建一个String对象。

  另外,String的intern()方法是一个本地方法,定义为public native String intern(); intern()方法的价值在于让开发者能将注意力集中到

  String池上。当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池

  中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。

  三、不可变类

  不可改变的字符串具有一个很大的优点:编译器可以把字符串设置为共享。

  不可变类String有一个重要的优点-它们不会被共享引用。

  是这样的,JAVA为了提高效率,所以对于String类型进行了特别的处理---为string类型提供了串池

  定义一个string类型的变量有两种方式:

  string name= "tom ";

  string name =new string( "tom ")

  使用第一种方式的时候,就使用了串池,

  使用第二中方式的时候,就是一种普通的声明对象的方式

  如果你使用了第一种方式,那么当你在声明一个内容也是 "tom "的string时,它将使用串池里原来的那个内存,而不会重新分配内存,也就是说,string saname= "tom ",将会指向同一块内存

  另外关于string类型是不可改变的问题:

  string类型是不可改变的,也就是说,当你想改变一个string对象的时候,比如name= "madding "

  那么虚拟机不会改变原来的对象,而是生成一个新的string对象,然后让name去指向它,如果原来的那个 "tom "没有任何对象去引用它,虚拟机的垃圾回收机制将接收它。

  据说这样可以提高效率!!!

我不懂运营

String是一种数据类型,是一个类,字符串就是String类的对象。

相关推荐

string类型

String类型用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。String类型用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。C++、java、VB等编程语言中的名词。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string>是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板。String类的判断功能:Object类:是类层次结构的根类,所有的类都直接或者间接继承自Object类;如果一个方法的形参是Object,那么这里我们就可以传递Object类的任意子类对象;boolean equals:比较字符串的内容是否相同(区分大小写);boolean equalsIgnoreCase:比较字符串的内容是否相同(忽略大小写);boolean startsWith:判断字符对象是否以指定的str开头;boolean endsWith:判断字符对象是否以指定的str结尾。
2023-08-03 15:32:271

string是什么?

str -- 通常,程序员喜欢用它作字符串变量名。它是 string(英文词、字符串的缩写)Str函数,返回代表一数值的 Variant(String)。语法Str(number)必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。说明当一数字转成字符串时,总会在前头保留一空位来表示正负。扩展资料:如果 number 为正,返回的字符串包含一前导空格暗示有一正号。使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。
2023-08-03 15:32:401

String 类

String 是不可变类,不可变的意思是 String 类型变量初始化后,其引用指向内存内容不能改变,变量引用可以指向其他内存。 定义一个 String 变量 str,引用指向内存字符串 abc。 变量赋值时,新开辟内存 def 字符串,str 引用指向新对象,原内存内容 abc 不变。 String 类是一个字符串数组的封装类(内部一个 char[] 数组)。数组类型 final private,引用 value 值不可变,外部无法访问。 因此,String 对象本质是指向一个 char 数组内存的引用,设计成 final 不可变类型,一旦 String 对象创建,value 值初始化,指向一块字符数组内存,char[] 引用不可变,String 对象即不可改变。 替换字符串中的某个字符,String 类 replace() 方法,不直接更改 char[] 引用指向内存,而是开辟一块新内存。 创建新 char[] 数组,分配内存,长度和老数组一致,复制,替换,new 一个新 String 类对象,在构造方法,新 char[] 数组赋值 String 类内部 value,返回新 String 引用。 class 文件常量池,在文件中,编译器编译生成字面量和符号引用,未载入内存,字面量是文本字符串,(如 String str = "abc" 中的 abc)。 符号引用是类/接口全限定名,(如 java/lang/String ),变量名称( str ),方法名称和描述符(参数和返回值)。 类加载内存后,class 文件常量池(字面量和符号引用),进入方法区运行时常量池,该常量池区全局共享。 字面量(字符串常量池), jdk1.7 后不再方法区,移到堆中,符号引用如方法名、类全限定名仍然在方法区。 定义一个 String 变量 a,编译后 hello2 是文本字符串,在 class 文件常量池,编译阶段确定 a 的值。 两个字符串字面值,编译时会进行优化(拼接),解析成一个,所以 a2 在编译期由编译器直接解析为 hello2。 反编译 javap -verbose StrClass.class 命令,查看 class 文件常量池。 编译时会检查常量池是否已存在 hello2 字符串,只有一个 #2,String,对应 #22,即 hello2。 此过程会查找字符串常量池是否存在 hello2,若不存在,在堆创建 char[] 数组,创建 String 对象关联 char[] 数组,保存到字符串常量池,最后将a指向这个对象。 编译阶段,不能确定 a3 的值,定义 final 变量 c,字节码替换掉 a4 中的 c 变量,场景和 a2 一致。 (运行时)对象变量初始化,new 一个 StringBuilder 对象,a3 引用指向 toString() 方法在堆内存 new 的 String 对象。a==a4,指向字符串常量池,a3 指向堆内存 new 的 String 对象。 类加载时,在常量池创建对象 hello2,变量 a5,运行时堆内存 new一个 String 对象,字符串 hello2 已经在常量池,#2项,a 引用指向字符串常量池,a5 引用指向堆内存新对象,(a!=a5)。 class 文件常量池,hello2 文本字符。 类加载内存时,在字符串常量池创建一个 hello2 字符串对象。 对象初始化时,new 指令,在堆中再次创建一个对象,变量 a6 引用指向它。 class 文件常量池只有 hello 和 2 字符串,没有 hello2 字符串,当类加载时,在字符串常量池不存在 hello2 对象。 初始化时,new 指令在堆创建两个 String 对象( hello和2 ),通过 StringBuffer 类 append() 方法,toString() 方法在堆内存中 new 一个 String 对象 (hello2),a7 引用指向它。 前一节的变量 a3=b+2 赋值时,class 字节码中定义了一个 StringBuilder 类,调用两次 append() 方法,依次添加 b 和 2 ,即 hello 和 2,一次 toString() 方法,堆内存创建对象。 StringBuffer 和 StringBuilder 区别是线程安全。 StringBuffer 通过 char[] 数组保存数据,每一个 append() 方法的新增数据在 char[] 数组保存,支持不同类型,boolean 类型保存4或5个字符 (true/false),字符串将每个字符保存,StringBuffer 类可以对字符串进行修改,进行字符串拼接时,不会产生新对象,直接对 char[] 数组进行操作更改。 几乎所有的字符操作方法都 synchronized 同步,该类线程安全。 toString() 方法,创建一个 String 对象,关联 char[] 数组。 任重而道远
2023-08-03 15:33:581

string是什么音乐术语

string音乐术语的意思是:串音,拉紧、串在一起的意思。音乐中的其他术语:1.庄板(Grave)(缓慢速)2.广板(Largo)(稍缓慢速)3.慢板(Lento)(慢速)4.行板(Andante)(稍慢速)5.中板(Moderato)(中速)6.小快板(Allegretto)(稍快速)7.快板(Allegro)(快速)8.最急板(Prestissimo)(急速)9.原速(ATempo)10.渐慢(Ritardando/rit/ritard)11.稍转快(pocopiùmosso)扩展资料:音乐术语是指在音乐表演中用来指导演奏者表演的专业术语。其中包括音乐构成要素,如速度、表情、强弱、调式、和声、旋律等。音乐以声音为表现手段的艺术形式,意象的塑造,以有组织的音为材料来完成的。因此,如同文学是语言的艺术一样,音乐是声音的艺术。这是音乐艺术的基本特征之一。作为音乐艺术表现手段的声音,有与自然界的其他声音不同的一些特点。任何一部音乐作品中所发出来的声音都是经过作曲家精心思考创作出来的,这些声音在自然界是可以找到,但是没有经过艺术家们别出心裁创作与组合,是不能成为音乐的。
2023-08-03 15:34:051

String和string的区别

从位置讲:1.String是.NET Framework里面的String,小写的string是C#语言中的string 2.如果把using System;删掉,没有大写的String了,System是.NET Framework类库中的一个函数名.从性质讲:1.string是关键字,String是类,string不能作为类、结构、枚举、字段、变量、方法、属性的名称2.用C#编写代码的情况下尽量使用小写的string,比较符合规范,如果在追求效率的情况下可以使用大写的String,因为最终通过编译后,小写的string会变成大写的String,可以给编译减少负荷,从而运行效率提高。3.string类型表示 Unicode 字符的字符串,string 是 .NET Framework 中的 String 的别名,对字符串相等性的测试更为直观
2023-08-03 15:34:251

函数String(n,"str")的功能是

按楼上说的,应该选择B
2023-08-03 15:34:344

c语言中string怎么用啊

在用到string.h库中的相关函数时应该加#include具体是哪些函数,你打开string.h文件就能明白
2023-08-03 15:34:482

C#中 String 和 string 有什么区别

String 即 System.String 是字符串类string 为System.String 的别名,相当于它
2023-08-03 15:35:042

C语言中有string吗

一直以来对这个问题都不是很清楚:只是知道C语言里有<string.h这个头文件,所以就想当然的认为C语言里有string这个类型,可以通过下面这种形式来声明string的变量 string aString;后来编程时发现通不过编译,又查资料才知道原来C语言里压根就没有string这个类型,所以字符串都是通过char数组来存储的,而<string.h这个头文件里声明的函数原型也全是针对char数组的种种操作。直到C++中才出现了string这个类(注意是类,不是类型)。这是网上我找到的比较满意的答复:" C语言中有string类型变量吗"这里的 string 有 二 义性。(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。char str[]="This is a string";(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不是类型,不是 type.
2023-08-03 15:35:191

c#string和string的区别

string和String?一样的。小写的string是为了方便。string s 等价于 String s = new String();
2023-08-03 15:35:271

java中的String ...=".."和String ...=new String("..")有什么区别?

详细的这儿有哇:解析Java中的String对象的数据类型 1. 首先String不属于8种基本数据类型,String是一个对象。 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null; 3. String str=”kvill”; String str=new String (“kvill”);的区别: 在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。 看例1: String s0=”kvill”; String s1=”kvill”; String s2=”kv” + “ill”; System.out.println( s0==s1 ); System.out.println( s0==s2 ); 结果为: true true 首先,我们要知结果为道Java会确保一个字符串常量只有一个拷贝。 因为例子中的s0和s1中的”kvill”都是字符串常量,它们在编译期就被确定了,所以s0==s1为true;而”kv”和”ill”也都是字符串常量,当一个字符串由多个字符串常量连接而成时,它自己肯定也是字符串常量,所以s2也同样在编译期就被解析为一个字符串常量,所以s2也是常量池中”kvill”的一个引用。 所以我们得出s0==s1==s2; 用new String() 创建的字符串不是常量,不能在编译期就确定,所以new String() 创建的字符串不放入常量池中,它们有自己的地址空间。 看例2: String s0=”kvill”; String s1=new String(”kvill”); String s2=”kv” + new String(“ill”); System.out.println( s0==s1 ); System.out.println( s0==s2 ); System.out.println( s1==s2 ); 结果为: false false false 例2中s0还是常量池中”kvill”的应用,s1因为无法在编译期确定,所以是运行时创建的新对象”kvill”的引用,s2因为有后半部分new String(“ill”)所以也无法在编译期确定,所以也是一个新创建对象”kvill”的应用;明白了这些也就知道为何得出此结果了。 4. String.intern(): 再补充介绍一点:存在于.class文件中的常量池,在运行期被JVM装载,并且可以扩充。String的intern()方法就是扩充常量池的一个方法;当一个String实例str调用intern()方法时,Java查找常量池中是否有相同Unicode的字符串常量,如果有,则返回其的引用,如果没有,则在常量池中增加一个Unicode等于str的字符串并返回它的引用;看例3就清楚了 例3: String s0= “kvill”; String s1=new String(”kvill”); String s2=new String(“kvill”); System.out.println( s0==s1 ); System.out.println( “**********” ); s1.intern(); s2=s2.intern(); //把常量池中“kvill”的引用赋给s2 System.out.println( s0==s1); System.out.println( s0==s1.intern() ); System.out.println( s0==s2 ); 结果为: false ********** false //虽然执行了s1.intern(),但它的返回值没有赋给s1 true //说明s1.intern()返回的是常量池中”kvill”的引用 true 最后我再破除一个错误的理解: 有人说,“使用String.intern()方法则可以将一个String类的保存到一个全局String表中,如果具有相同值的 Unicode字符串已经在这个表中,那么该方法返回表中已有字符串的地址,如果在表中没有相同值的字符串,则将自己的地址注册到表中“如果我把他说的这个全局的String表理解为常量池的话,他的最后一句话,“如果在表中没有相同值的字符串,则将自己的地址注册到表中”是错的: 看例4: String s1=new String("kvill"); String s2=s1.intern(); System.out.println( s1==s1.intern() ); System.out.println( s1+" "+s2 ); System.out.println( s2==s1.intern() ); 结果: false kvill kvill true 在这个类中我们没有声名一个”kvill”常量,所以常量池中一开始是没有”kvill”的,当我们调用s1.intern()后就在常量池中新添加了一个”kvill”常量,原来的不在常量池中的”kvill”仍然存在,也就不是“将自己的地址注册到常量池中”了。 s1==s1.intern()为false说明原来的“kvill”仍然存在; s2现在为常量池中“kvill”的地址,所以有s2==s1.intern()为true。 5. 关于equals()和==: 这个对于String简单来说就是比较两字符串的Unicode序列是否相当,如果相等返回true;而==是比较两字符串的地址是否相同,也就是是否是同一个字符串的引用。 6. 关于String是不可变的 这一说又要说很多,大家只要知道String的实例一旦生成就不会再改变了,比如说:String str=”kv”+”ill”+” “+”ans”; 就是有4个字符串常量,首先”kv”和”ill”生成了”kvill”存在内存中,然后”kvill”又和” “ 生成 ”kvill “存在内存中,最后又和生成了”kvill ans”;并把这个字符串的地址赋给了str,就是因为String的“不可变”产生了很多临时变量,这也就是为什么建议用StringBuffer的原因了,因为StringBuffer是可改变的。
2023-08-03 15:36:101

如何将string 转换成string[]

查以下String的函数不就知道了吗?
2023-08-03 15:36:184

java中stringutils和string的区别

org.apache.commons.lang.StringUtils类是用于操作Java.lang.String类的,而且此类是null安全的,即如果输入参数String为null,则不会抛出NullPointerException异常。 StringUtils类中有130多个静态方法,都可以通过如下方式调用:StringUtils.xxx()。 常用方法简介: 1. public static boolean isEmpty(String str) 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 下面是 StringUtils 判断是否为空的示例: StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格作非空处理 StringUtils.isEmpty(" ") = false StringUtils.isEmpty("bob") = false StringUtils.isEmpty(" bob ") = false 2. public static boolean isNotEmpty(String str) 判断某字符串是否非空,等于 !isEmpty(String str) 下面是示例: StringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = false StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty("bob") = true StringUtils.isNotEmpty(" bob ") = true 3. public static boolean isBlank(String str) 判断某字符串是否为空或长度为0或由空白符(whitespace) 构成 下面是示例: StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank(" ") = true StringUtils.isBlank(" f ") = true //对于制表符、换行符、换页符和回车符 StringUtils.isBlank() //均识为空白符 StringUtils.isBlank("") = false //""为单词边界符 StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false 4. public static boolean isNotBlank(String str) 判断某字符串是否不为空且长度不为0且不由空白符(whitespace) 构成,等于 !isBlank(String str) 下面是示例: StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank(" f ") = false StringUtils.isNotBlank("") = true StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true 5. public static String trim(String str) 去掉字符串两端的控制符(control characters, char <= 32) , 如果输入为 null 则返回null 下面是示例: StringUtils.trim(null) = null StringUtils.trim("") = "" StringUtils.trim(" ") = "" StringUtils.trim("  f ") = "" StringUtils.trim(" ss ") = "ss" StringUtils.trim(" d d dd ") = "d d dd" StringUtils.trim("dd ") = "dd" StringUtils.trim(" dd ") = "dd" 6. public static String trimToNull(String str) 去掉字符串两端的控制符(control characters, char <= 32) ,如果变为 null 或"",则返回 null下面是示例: StringUtils.trimToNull(null) = null StringUtils.trimToNull("") = null StringUtils.trimToNull(" ") = null StringUtils.trimToNull("  f ") = null StringUtils.trimToNull(" ss ") = "ss" StringUtils.trimToNull(" d d dd ") = "d d dd" StringUtils.trimToNull("dd ") = "dd" StringUtils.trimToNull(" dd ") = "dd" 7. public static String trimToEmpty(String str)
2023-08-03 15:36:251

什么是std::string...?怎么用?

不好意思,没学过C++请看楼下的把
2023-08-03 15:36:343

c++中include包函的内容是什么

系统头文件,你可以在电脑系统目录下找到这个文件再查看
2023-08-03 15:37:194

String.length怎么用?

String str="abc";int len=str.length();这个是String的方法int[] a=new int[10];int len=a.length;这个是数组的属性
2023-08-03 15:37:353

string的常用方法及其功能

具体如下。indexOf(“字符”):查询指定的字符串是否存在,返回的是字符串的位置,不存在返回-1;CharAt(值):拿到指定位置的字符;trim():去除字符串两端的空格;split():分割字符串,返回分割后的字符串数组;length():返回字符串的长度;substring(intbegIndex,intendIndex):截取字符串;equals():比较两个字符串是否相等。string是C++、java、VB等编程语言中的字符串,字符串是一个特殊的对象,属于引用类型。在java、C#中,String类对象创建后,字符串一旦初始化就不能更改,因为string类中所有字符串都是常量,数据是无法更改,由于string对象的不可变,所以可以共享。对String类的任何改变,都是返回一个新的String类对象。C++标准库中string类以类型的形式对字符串进行封装,且包含了字符序列的处理操作。
2023-08-03 15:38:011

string类型

String类型用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。String类型用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。C++、java、VB等编程语言中的名词。在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string>是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板。String类的判断功能:Object类:是类层次结构的根类,所有的类都直接或者间接继承自Object类。如果一个方法的形参是Object,那么这里我们就可以传递Object类的任意子类对象。booleanequals:比较字符串的内容是否相同(区分大小写)。booleanequalsIgnoreCase:比较字符串的内容是否相同(忽略大小写)。booleanstartsWith:判断字符对象是否以指定的str开头。booleanendsWith:判断字符对象是否以指定的str结尾。以上内容参考:百度百科-string类
2023-08-03 15:38:111

string(英语单词)详细资料大全

string是一个英语单词,可以用作名词和及物动词,可以翻译为绳子、带子,等等。 释义,例句, 释义 string [英][stru026au014b][美][stru026au014b] n.绳子,带子;线丝,植物纤维;串;[计算机科学]字元串; vt.上弦,调弦;使排成一行或一系列;绑,系或用线挂起;延伸或扩展; 第三人称单数:strings过去分词:strung复数:strings现在进行时:stringing过去式:strung 例句 1.Theideaistograbtheendsofthestringandspinthetoyquicklyuntilitbecomestaut. 玩法也很简单,只需要用手抓住细绳的两端,然后让这个玩具快速旋转,直到绳子绷紧。 2.Thisisarandomstring. 这是一个任意的字元串。 3.Soontheyhadfoundfivedifferentstringtheories. 很快他们发现了5种不同的弦理论。 4.Hawkishindiansconsiderthesechineseinvestmentsasa"stringofpearls"tothrottleindia. 印度鹰派认为中国的这些投资像是“一串珍珠”扼制着印度。 5.Andthepaladinsthirdstringquarterbackhadulldoubleduty. 圣骑士队的三线四分卫有承担双份责任。
2023-08-03 15:38:241

string是什么数据类型?

string属于Java中的字符串类型,也是一个引用类型,并不属于基本的数据类型。Java中基本的数据类型只有八个,分别是数值型:byte、short、int、long;浮点型:float、double;字符型:char;布尔型:boolean。Java有字符串常量池机制,在声明字符串常量和字符串常量连接都需要使用到字符串常量池,如果字符串序列存在于该常量池中则返回,所以str会创建了一个字符串放入常量池中,str2将直接指向str指向的对象。扩展资料:String是一个固定长度的字符串,对String进行操作,是创建新的对象(String的操作都是改变赋值地址而不是改变值操作)。而和它相似的还有一个字符串StringBuffer,对StringBuffer进行操作,这是在原来的对象之上进行改变(StringBuffer的操作都是改变值操作)。String是一种不高效的字符串使用方式,在要求执行效率的系统当中会更多的使用StringBuffer来代替,这样可以降低系统的繁复性。
2023-08-03 15:38:591

string用英语怎么说

string用英语的读法是英[stru026au014b];美[stru026au014b]。一、词语用法。1、string作名词时意思是“琴弦”,转化为动词的意思是“装弦于”“上弦”。引申可表示“连成一串”“排成一行”“缚”“捆”等。2、string既可用作及物动词,也可用作不及物动词。用作及物动词时,接名词、代词作宾语;用作不及物动词时与along连用,意思是“欺骗”。3、string的过去式和过去分词均为strung。二、短语搭配。second string.替补资源;替补方案;备选队员;二线队员。string ideas together.把许多想法连贯起来。string line.台盘限制区界线;开球线。string quartet.弦乐四重奏;弦乐四重奏曲。string双语例句:1、The father didn"t reply,but just cut the string off the reel(线轴).父亲没有回答,只是把线轴剪断了。2、By using the string you help the kite go up in the right direction.通过使用绳子,你可以帮助风筝朝着正确的方向上升。3、When you cut the string,it could not support the kite.当你剪断绳子时,它无法支撑风筝。4、Lush string accompaniments to romantic scenes in films.伴随影片中浪漫场景的华美弦乐。
2023-08-03 15:39:121

CString与string的区别

CString 类是微软的visual c++提供的MFC里面的一个类,所以只有支持MFC的工程才可以使用。如在linux上的工程就不能用CString了,只能用标准C++中的 string类了。另外,因为string类是在c++标准库中,所以它被封装在了std命名空间中,使用之前需要声明using namespace std;而CString类并不在std命名空间中,因为它不是c++的标准库,只是微软的一个封装库。这点看来用string类的程序的移植性更好。(2)string类既是一个标准c++的类库,同时也是STL(Standard Template Library,标准模版库)中的类库,所以支持Iterator操作。(3)CString类和string类提供的方法接口并不完全相同,所以不要糊里糊涂的认为某个类中怎么没有另外一个类中的方法啊。:-)。。(4)他们和char*之间的转换方法也不一样。
2023-08-03 15:39:483

string函数用法

string(number,character)作用是产生字符串,其中character就是你需要生成的字符,number是生成的个数,比如string(3,"h")就会生成3个h,注意的是character是字符,不是字符串,即使你写入字符串也只读入一个字符string(3,"h符合规定")生成的还是3个h
2023-08-03 15:39:571

string是什么数据类型

string属于Java中的字符串类型,也是一个引用类型,并不属于基本的数据类型。Java中基本的数据类型只有八个,分别是数值型:byte、short、int、long;浮点型:float、double;字符型:char;布尔型:boolean。Java有字符串常量池机制,在声明字符串常量和字符串常量连接都需要使用到字符串常量池,如果字符串序列存在于该常量池中则返回,所以str会创建了一个字符串放入常量池中,str2将直接指向str指向的对象。String是一个固定长度的字符串,对String进行操作,是创建新的对象(String的操作都是改变赋值地址而不是改变值操作)。而和它相似的还有一个字符串StringBuffer,对StringBuffer进行操作,这是在原来的对象之上进行改变(StringBuffer的操作都是改变值操作)。String是一种不高效的字符串使用方式,在要求执行效率的系统当中会更多的使用StringBuffer来代替,这样可以降低系统的繁复性。
2023-08-03 15:40:051

c# string[] 的定义并赋值

应该这样定义string[] dbId = new string []{"1111111101","11111111102"};//
2023-08-03 15:40:193

String和String的区别

1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;3. String str=”kvill”;String str=new String (“kvill”);的区别:在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。看例1:String s0=”kvill”; String s1=”kvill”; String s2=”kv” + “ill”; System.out.println( s0==s1 ); System.out.println( s0==s2 ); 结果为: true true 首先,我们要知道Java会确保一个字符串常量只有一个拷贝。 因为例子中的s0和s1中的”kvill”都是字符串常量,它们在编译期就被确定了,所以s0==s1为true;而”kv”和”ill”也都是字符串常量,当一个字符串由多个字符串常量连接而成时,它自己肯定也是字符串常量,所以s2也同样在编译期就被解析为一个字符串常量,所以s2也是常量池中 ”kvill”的一个引用。 所以我们得出s0==s1==s2; 用new String() 创建的字符串不是常量,不能在编译期就确定,所以new String() 创建的字符串不放入常量池中,它们有自己的地址空间。 看例2: String s0=”kvill”; String s1=new String(”kvill”); String s2=”kv” + new String(“ill”); System.out.println( s0==s1 ); System.out.println( s0==s2 ); System.out.println( s1==s2 ); 结果为: false false false 例2中s0还是常量池中”kvill”的应用,s1因为无法在编译期确定,所以是运行时创建的新对象”kvill”的引用,s2因为有后半部分new String(“ill”)所以也无法在编译期确定,所以也是一个新创建对象”kvill”的应用;明白了这些也就知道为何得出此结果了。 4. String.intern(): 再补充介绍一点:存在于.class文件中的常量池,在运行期被JVM装载,并且可以扩充。String的intern()方法就是扩充常量池的一个方法;当一个String实例str调用intern()方法时,Java查找常量池中是否有相同Unicode的字符串常量,如果有,则返回其的引用,如果没有,则在常量池中增加一个Unicode等于str的字符串并返回它的引用;看例3就清楚了 例3: String s0= “kvill”; String s1=new String(”kvill”); String s2=new String(“kvill”); System.out.println( s0==s1 ); System.out.println( “**********” ); s1.intern(); s2=s2.intern(); //把常量池中“kvill”的引用赋给s2 System.out.println( s0==s1); System.out.println( s0==s1.intern() ); System.out.println( s0==s2 ); 结果为: false ********** false //虽然执行了s1.intern(),但它的返回值没有赋给s1 true //说明s1.intern()返回的是常量池中”kvill”的引用 true 最后我再破除一个错误的理解: 有人说,“使用String.intern()方法则可以将一个String类的保存到一个全局String表中,如果具有相同值的Unicode字符串已经在这个表中,那么该方法返回表中已有字符串的地址,如果在表中没有相同值的字符串,则将自己的地址注册到表中“如果我把他说的这个全局的 String表理解为常量池的话,他的最后一句话,“如果在表中没有相同值的字符串,则将自己的地址注册到表中”是错的: 看例4: String s1=new String("kvill"); String s2=s1.intern(); System.out.println( s1==s1.intern() ); System.out.println( s1+" "+s2 ); System.out.println( s2==s1.intern() ); 结果: false kvill kvill true 在这个类中我们没有声名一个”kvill”常量,所以常量池中一开始是没有”kvill”的,当我们调用s1.intern()后就在常量池中新添加了一个”kvill”常量,原来的不在常量池中的”kvill”仍然存在,也就不是“将自己的地址注册到常量池中”了。 s1==s1.intern()为false说明原来的“kvill”仍然存在; s2现在为常量池中“kvill”的地址,所以有s2==s1.intern()为true。 5. 关于equals()和==: 这个对于String简单来说就是比较两字符串的Unicode序列是否相当,如果相等返回true;而==是比较两字符串的地址是否相同,也就是是否是同一个字符串的引用。 6. 关于String是不可变的 这一说又要说很多,大家只要知道String的实例一旦生成就不会再改变了,比如说:String str=”kv”+”ill”+” “+”ans”; 就是有4个字符串常量,首先”kv”和”ill”生成了”kvill”存在内存中,然后”kvill”又和” “ 生成 ”kvill “存在内存中,最后又和生成了”kvill ans”;并把这个字符串的地址赋给了str,就是因为String的“不可变”产生了很多临时变量,这也就是为什么建议用StringBuffer的原因了,因为StringBuffer是可改变的。
2023-08-03 15:40:571

vb中string( ,)函数是干嘛用的

定义字符型的函数
2023-08-03 15:41:064

java中String问题,String a=new String(""); 和String a=new String();有区别吗

请参看http://blog.csdn.net/ghostresur/archive/2009/06/08/4250390.aspx
2023-08-03 15:41:3210

“String str”是什么意思?

string代表变量的类型为字符串。str代表变量的名称,这个可以自己定义,但是国际上或者行业上有自己的命名方式,注意名称开头千万不能是数字,或者一些常用的类型名称或者特定的系统方法名称。String对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。看来似乎修改了String对象的方法实际上是返回一个包含修改内容的新String对象。如果需要修改字符串对象的实际内容,请使用System.Text.StringBuilder类。双引号里面是代表这个字符串的内容,可以自己编写,可以设定为空值。注意:这个句子一定要以分号(;)结尾,否则报错。整句话的意思就是定义一个字符串,名字叫做str,字符串的内容(或者叫变量值)为空值(就是什么也没有)。
2023-08-03 15:41:541

wstring是什么?跟string有什么区别啊

wstring是宽char,Unicode编码,一般情况下一个字符占两个字节大小string是窄char,AscII编码,一个字符占一个字节大小
2023-08-03 15:42:032

C# string 和 String的区别

老生常谈的问题了 * String是一个类,string是一种数据类型. * string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色) * c# string映射为.net Framework的String * 如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作 * 如果使用c#,建议使用string,比较符合规范 * string 始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表 System.String * string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以
2023-08-03 15:42:183

java关于String[] str = new String[]{};

你这么写怎么数组初始化?当然是写在这个大括号里。要不岂不是转换一个空字符串数组。
2023-08-03 15:42:265

String 与StringBuilder有什么区别

就是一个变量和常量的关系 StringBuffer对象的内容可以修改 而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象
2023-08-03 15:43:085

如何理解String

java中的字符串。 String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。 String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。String 是特殊的引用对象,可以不用new ,就可产生对象。例如:String a="abc";String b="abc";String c=new String("abc");这里一共生成了两个对象。"abc"一个对象,new String()一个对象。a,b,c都在栈区创建了引用,a,b指向的是常量池中的"abc",new String的值指向的也是常量池中的abc;※同一个字符串,只会创建一次。例如:String a="abc";a=a+"d";执行这个操作,实际上产生了3个对象,一个"abc",一个“d”,一个“abcd”。只是当拼接完成之后,"abc",“d”都失去了引用,成为垃圾对象了。实际我改变不是"abc"本身,而只是把引用指向了“abcd”;※对字符串本身操作时,不是改变了对象本身,而是改变了引用。
2023-08-03 15:43:241

string音标怎么写

string音标是【strɪŋ】
2023-08-03 15:43:322

在JS中String 和string什么区别?

var str = "aaaaa"这种叫做字符串直接量var str = new String("Hello World")这种就是创建了一个String 对象 以上两种使用起来是一样的
2023-08-03 15:43:542

.Net string和String区别

没区别 就跟int其实是Int32一样 写法不同
2023-08-03 15:44:012

java中String是什么?

字符串类型
2023-08-03 15:44:094

如何将一个string变为string数组

split方法
2023-08-03 15:44:293

string的用法和短语例句

  string有线;弦;一串;字串等意思,那么你知道string的用法吗?下面是我为大家整理的string的用法和相关 短语 例句,欢迎大家学习!   string的用法:   string的用法1:string作名词时意思是“琴弦”,转化为动词的意思是“装弦于”“上弦”。引申可表示“连成一串”“排成一行”“缚”“捆”等。   string的用法2:string既可用作及物动词,也可用作不及物动词。用作及物动词时,接名词、代词作宾语; 用作不及物动词时与along连用,意思是“欺骗”。   string的用法3:string的过去式和过去分词均为strung。   string的常用短语:   用作动词 (v.)   string along with (v.+adv.+prep.)   string on (v.+prep.)   string out (v.+adv.)   string up (v.+adv.)   string的用法例句:   1. The Doberman let out a string of roaring barks.   短毛猎犬一阵狂吠。   2. He held out a small bag tied with string.   他拿出一个系着细绳的小袋子。   3. A string of five rowing boats set out from the opposite bank.   5只划艇排成一行从对岸出发了。   4. The landscape is broken only by a string of villages.   这片风景中只有一排村庄。   5. The band was forced to cancel a string of live dates.   乐队被迫取消了一系列的现场表演。   6. Twist the string carefully around the second stem with the other hand.   用另外一只手小心地把细绳缠绕到第二根茎上。   7. As speech develops, the child starts to string more words together.   随着语言能力不断发展,孩子开始把更多的词连起来说。   8. He built the company through a string of well-timed acquisitions.   通过一系列时机恰到好处的并购,他建立了这家公司。   9. She wore a string of pearls at her throat.   她戴了一串珍珠项链。   10. Between 1940 and 1943 he had a string of 62 consecutive victories.   他在1940年至1943年间连续62次获胜。   11. Donaldson was a petty crook with a string of previous offences.   唐纳森有一系列小的犯罪前科,但没犯过大事。   12. The incident was the latest in a string of attacks.   这是一连串袭击事件中最近的一起。   13. Wipe the mushrooms clean and thread them on a string.   把这些蘑菇擦干净,然后用线穿起来。   14. The guests were entertained by a string quartet.   一个弦乐四重奏乐团为客人们献艺演奏。   15. He seemed floored by a string of scandals.   他似乎被一连串的丑闻搞得茫然失措。
2023-08-03 15:45:211

string类型和int类型区别

string是字符串类型,创建时必须双引号,可以为空,如:null,"","我是string"int是整数类型,包含正整数和负整数,不能为空,如:0,1,-1,,不能为null若是想要为null则用Integer
2023-08-03 15:45:361

c语言中string是什么意思

String是C++、java、VB等编程语言中的字符串,用双引号引起来的几个字符,如"Abc","一天"。 扩展资料   在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。 String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的.值是该有序集合的内容,并且该值是不可变的。
2023-08-03 15:45:571

C#中string类型是什么类型

引用类型
2023-08-03 15:46:056

string是什么类型

" 表示是字符串。" 表示是字符。用在两种不同的数据类型中。用单引号引起的一个字符大小就是一个字节。而用双引号引起的字符串大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符""。单引号表示单个字符,双引号表示字符串,用ASCⅡ码表示字符时不用加引号,如空格的ASCⅡ码为32,则直接用char a=32即可。函数应用1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.例:concat(‘11","aa")="11aa";2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。例:copy(‘abdag",2,3)="bda"3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。例:s:="abcde";delete(s,2,3);结果s:="ae"4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置例:s:=abc;insert(‘12",s,2);结果s:="a12bc"5、求字符串长度 length(s) 例:length(‘12abc")=5在ASP中 求字符串长度用 len(s)例: len("abc12")=5。
2023-08-03 15:46:261

string定义的是字符还是字符串

String定义可以是字符,也可以是字符串,比如String str =“asadsada”;char[] c1 = str1.toCharArray();//对应的字符串可以转换成char数组
2023-08-03 15:46:401

体育室的英文怎么写

问题一:体育器材室用英语怎么说 专业叫法Apparatus Room 通俗叫法Room of Sports Equipment 问题二:体育运动的英语怎么写 sport 问题三:体育馆用英语怎么写的。 满意答案gymnasium 问题四:用英语怎么写你们学校有体育馆吗? gym 一般情况下大多被理解为健身房~ 所以建议使用 In-door stadium 或 sports hall 来表示体育馆。 Is there any in-door stadiums in your school? Is there any sports halls in your school? 不建议用 Do you have a....in your school? 这有可能被误会为“你是否(拥)有一座...在你的学校里?” 问题五:体育馆用英文怎么说? gymnasium [d?im"neizi?m] n. 体育馆;健身房 gym[d?im] [口语]体育馆;健身房 stadium ["steidi?m] n. 体育场;露天大型运动场 问题六:在体育器材室用英语怎么拼 In the sports equipment room
2023-08-03 15:35:141

卡酷是哪个频道

北京卡酷动画卫视 不是在北京应该要装数字电视才能看吧
2023-08-03 15:35:156

国家秘密标志中标志正确的是什么

密级+标识+保密期限。根据华律网显示,国家秘密标志正确的是密级+标识+保密期限。比如:“绝密长期”的标志,表明该载体属于绝密级国家秘密,保密期限是长期。所谓国家秘密标志,就是印记在国家秘密载体上,表明其内容属于国家秘密事项的记号。国家秘密标志的组成。
2023-08-03 15:35:171

国家秘密标志应当标注什么

法律分析:国家秘密一经产生,就应当按照规定在载体上做出标志。国家秘密的标志由三部分组成:1、国家秘密的密级:绝密、机密、秘密;2、国家秘密的标识3、保密期限:年、月,特殊情况也可以是长期。法律依据:《中华人民共和国国家安全法》第一条 为了维护国家安全,保卫人民民主专政的政权和中国特色社会主义制度,保护人民的根本利益,保障改革开放和社会主义现代化建设的顺利进行,实现中华民族伟大复兴,根据宪法,制定本法。第二条 国家安全是指国家政权、主权、统一和领土完整、人民福祉、经济社会可持续发展和国家其他重大利益相对处于没有危险和不受内外威胁的状态,以及保障持续安全状态的能力。第三条 国家安全工作应当坚持总体国家安全观,以人民安全为宗旨,以政治安全为根本,以经济安全为基础,以军事、文化、社会安全为保障,以促进国际安全为依托,维护各领域国家安全,构建国家安全体系,走中国特色国家安全道路。第四条 坚持中国共产党对国家安全工作的领导,建立集中统一、高效权威的国家安全领导体制。第五条 中央国家安全领导机构负责国家安全工作的决策和议事协调,研究制定、指导实施国家安全战略和有关重大方针政策,统筹协调国家安全重大事项和重要工作,推动国家安全法治建设。
2023-08-03 15:35:101

人工降雨的原理是什么?

人工降雨原理为:根据不同云层的物理特性,选择合适时机,用飞机、火箭弹等向云中播散干冰、碘化银、盐粉等催化剂,促使云层降水或增加降水量。人工增雨分为暧云增雨与冷云增雨。要使暧云(温度高于0℃的云)降水或增雨,要在云中播撒盐粉、尿素等吸湿性粒子,促使大云滴生成导致形成或增加降水。人工影响云的微物理过程,可以在一定条件下使本来不能自然降水的云受激发而降水,也可使那些水分供应较多、往往能自然降水的云,提高降水效率而增加降水量。扩展资料:人工降雨的注意事项:1、人工降雨作业只有在一定的自然云的条件下才能获取所需的增加水量的结果,目前的技术条件还无法做到人工造雨。2、对于不同条件的云进行同样的催化作用,可能会得出正、反两种不相同的结果。所以为了获得增雨效果,必须对自然云条件和降水过程进行更深入的探测研究。3、自然降水量的变率很大,而人工增雨量又往往比较小,在一次降水过程中,很难把人工增雨和自然降雨区分开来。因此,评价人工降雨效果及其检验方法仍然是人工影响天气科学主攻目标。4、人工降水已从初期的试验研究,逐步转为有严格设计、多种探测手段及作业技术现代化与通讯等相结合的试验应用技术,成为目前我国及不少国家的抗旱减灾的措施之一。参考资料来源:百度百科-人工降雨
2023-08-03 15:35:101