java SE基础知识之string用法

文档注释:/** */-----写在类和方法及常量(3个地方)的开头,可以通过javadoc工具,转换为HTML文档

生成文档:项目名右键---Export----java----javadoc---生成文档

string是采用了final修饰,不能被继承,一旦创建,其对象(内容)无法改变,但是字符串引用可以重新赋值(创建新对象)。

string s1=”wer” s1=”ertt”//创建了新对象

Java中有引用(地址)和基本两种类型,引用类型存在堆内,以对象来存储的,用时需要new,基本类型是以值来存储的。

编译器的优化措施:当一个计算表达式两边都是字面量时,会直接计算结果,然后将结果编译到class再去比较。string s1=”123er”; string s2=”123”+”er” s1==s2 //true

string s3=” 123”; string s4=”er”; s5=s3+s4 s5==s1//fasle,两个对象

string 长度的方法:str.length();

str1.indexOf(String str):该方法使用查找给定字符串在当前字符串中的位置,该方法有几个重载方法。下标从0开始,第一次吻合str后即返回下标。若无str,返回-1;

重载方法允许从指定位置开始找起,str.indexOf(“in”,3),从下标为3开始找in

str.lastIndexOf(“in”);查找最后一次出现指定字符串的位置

str.substring(5,8);即截取的是5、6、7,3个字符(含头不含尾)

String str1=s.next(); 在输入有效数字前的空格等会被清除。空格333 //333

String str1=s.nextLine();在输入有效数字前的空格等会被保留 空格333 //空格333

eg: 获取一个域名 main(){

String host =scanner.nextLine();

int start =host.indexOf(“.”)+1; //获取第一个点之后的一个字符的位置

int end=host.indexOf(“.”,start); //获取第二个点的位置

String sub=host.substring(start,end); //域名就是sub

}

char charAt(int index) //获取当前字符串指定下标对应的字符---下标从0开始

boolean startsWith(String str) boolean endsWith(String str)---判断当前字符串是否是以str开头或者结尾的

String toUpperCase() String toLowerCase() ---将当前字符串的英文转换为全大写或全小写

(static) String.valueOf(xx x); //该方法是一个静态方法,其的作用是将Java中其他类型转换为字符串

StringBuiler提供了用于修改字符串内容的相关方法,其内部维护的是一个可变的字符数组(string内是一个不可变的char[ ],所以每次要创建新对象),所以修改都是在当前对象内部完成的(不用创建新对象)。当频繁修改字符串内容时应当使用当前类来完成。用+来拼接字符串,实际上就是用StringBuilder来实现的

String str=”习Java“;

StringBuilder bu = new StringBuilder(str); //将string类型转换为StringBuiler,采取有参构造

str=bu.toString(); //从StringBuilder装换为String,使用StringBuilder的toString();

bu.append(“112we”),String s2=bu.toString();----在字符串末尾追加新内容,有若干重载方法(String、int、double 等等). //追加后结果为 =习java112we

StringBuilder replace(int start,int end,String str) ---将指定范围内的字符串替换为指定内容

指定范围下标从0开始,含头不含尾。bu.replace(9,12,”改变改变”) //StringBuilder bu

StringBuilder delete(int start,int end)---将当前字符串中指定范围内的内容删除

StringBuilder insert(int index,String str);将给定字符串插入到指定位置,原位置及后续字符串顺序向后移动;

bu.reverse(); //反转 第一个—变最后一个,第二个变倒数第二个……

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180302A1JSSA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券