string怎么用
1.java中的String有什么用
String s2 = new String("abcdef"); 初始化一个新创建的 String 对象s2,表示一个与"abcdef"相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。
由于 String 是不可变的,不必使用该构造方法. String s1 = "abcdef"; 推荐改成String s1 = "abcdef".intern(); String s = "abc" + "def"; 纯属无聊之举 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
2.java中string怎么使用
当执行String a="abc";时,JAVA虚拟机会在栈中创建三个char型的值'a'、'b'和'c',然后在堆中创建一个String对象,它的值(value)是刚才在栈中创建的三个char型值组成的数组{'a','b','c'},最后这个新创建的String对象会被添加到字符串池中。如果我们接着执行String b=new String("abc");代码,由于"abc"已经被创建并保存于字符串池中,因此JAVA虚拟机只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在栈中创建的三个char型值值'a'、'b'和'c'.
String a="abc"; 创建了一个对象 这个对象是在字符串池里吧 而不是堆里 所以只创建了一个对象
而String b=new String("abc");在字符串常量池以及 堆里都有对象所以是两个对象
String a="abc"; 在常量池中
new String("abc"); 在堆中
String str1 = "abc";引用的对象在栈(或者叫String池)中。
String str1 =new String ("abc"); 引用的对象在内存/堆中。
3.java中的string的用法总结,比如有indexof,split等
这个在刚刚学习的时候经常会忘记这些,没有关系,实际应用的时候再认真去查
1、方法Indexof返回第一次找到目标,如果没有找到就返回-1,指定位置往回找
String str1="cdesada"
str1.indexOf("cde");
2、从当前字符中抽取子字符串
方法substring
-substring(int beginIndex) //从beginIndex开始直接到结束
3、/返回长度7
str.length();
4、split
Split(Char()) 返回的字符串数组包含此实例中的子字符串
5、equals()
字符串的比较方法
6、int hashCode()
返回此字符串的哈希码。
7、int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
8、int compareTo(String anotherString)
按字典顺序比较两个字符串。
9、字符串拼接,
方法concat,拼接两个字符串,返回一个新的字符串,源字符串不会修改
S1.concat(s2) //等同于s1=s1+s2
10、boolean contains(CharSequence s)
当且仅当此字符串包含 s 的指定序列时,才返回 true。
11、int lastIndexOf(int ch)
返回最后一次出现的指定字符在此字符串中的索引。
等等很多,这几个比较常见
4.java中的string用法
看看这个public class T1 { public static void main(String[] agrs) { String s = "a,1,5,6,2,3,b,d,f,w,c,e,^,&,@,8,"; String [] array=s.split(","); String intArray ="" ; String strArray = ""; String other = ""; for(int i=0;i。