java String

实例方法 

0、toString()

输出对象本身。

输出一个引用值的时候,会自动掉用toString方法,如果没重写toString,默认会调用Object的toString方法,对象的内存地址。

下边字符串重写了toString方法。

String a = new String("1");
System.out.println(a); // 1
System.out.println(a.toString()); //  1

 

1、char   str.charAt(int index)

返回指定索引处的值

public static void main(String[] args) {
    String str = "123";
    for(int i = 0; i < str.length(); i ++) {
        System.out.println(str.charAt(i)); // "1" "2" "3"
    }
}

2、int str.codePointAt( int index )

返回字符对应的unicode编码 

3、boolean str.endsWith( String s )

判断是否以指定字符串结尾。

public static void main(String[] args) {
    String str = "abc";
    System.out.println(str.endsWith("c")); // true
    System.out.println(str.endsWith("b")); // false
    System.out.println(str.endsWith("bc")); // true
}

4、boolean str.equals( Object obj )
判断两个变量是否相等,字符串内部重写了equals方法,所以下边比较成立。

public static void main(String[] args) {
    String str = "abc";
    String str1 = new String("abc");
    System.out.println(str.equals(str1)); // true
}

5、boolean equalsIgnoreCase(String str)

忽略大小写,比较两个字符串是否相等。

public static void main(String[] args) {
    String str = "abc";
    String str1 = new String("ABc");
    System.out.println(str.equalsIgnoreCase(str1)); // true
}

类方法:

6、format 序列化字符串

具体请查看:https://www.cnblogs.com/leohe/p/9076194.html

String  str.format(String s, Object o, ··· ···)
使用指定的语言环境,指定字符串格式化的规则。

不同的转换符如下:

转  换  符

说    明 

示    例

%s

字符串类型

"mingrisoft"

%c

字符类型

'm'

%b

布尔类型

true

%d

整数类型(十进制)

99

%x

整数类型(十六进制)

FF

%o

整数类型(八进制)

77

%f

浮点类型

99.99

%a

十六进制浮点类型

FF.35AE

%e

指数类型

9.38e+5

%g

通用浮点类型(f和e类型中较短的)

%h

散列码

%%

百分比类型

%n

换行符

%tx

日期与时间类型(x代表不同的日期与时间转换符

1、

public static void main(String[] args) {
    String str = "abc";
    System.out.println(String.format("str的值为:%s", str));
}

2、

public static void main(String[] args) {
    char str = '1';
    System.out.println(String.format("字符a为:%c", str));
}

下边一般是搭配转换符标志的标志:

标    志

说    明

示    例

结    果

+

为正数或者负数添加符号

("%+d",15)

+15

左对齐

("%-5d",15)

|15   |

0

数字前面补0

("%04d", 99)

0099

空格

在整数之前添加指定数量的空格

("% 4d", 99)

|  99|

,

以“,”对数字分组

("%,f", 9999.99)

9,999.990000

(

使用括号包含负数

("%(f", -99.99)

(99.990000)

#

如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0

("%#x", 99)

("%#o", 99)

0x63

0143

格式化前一个转换符所描述的参数

("%f和%<3.2f", 99.45)

99.450000和99.45

$

被格式化的参数索引

("%1$d,%2$s", 99,"abc")

99,abc

1、实际开发中,如果想把一个数字转化为字符串,可以使用format,比如:公司的工号,在数据库中存储的格式为: "00000120",公司新来员工,工号需要+1,这种一般后台会有一个查询工号的最大值的接口,当添加员工时,获取最大值,然后自动+1, 前端把工号发给后台一定是数字格式,后台需要把数字转化为字符串,如果不够8位,前边需要补0。

public static void main(String[] args) {
    int num = 101;
    String res = String.format("%08d", num);
    System.out.println(res);  // "00000101"
}

7、byte[ ] getBytes(Charset)

使用指定字符集把String编码位字节序列

Charset类是一个标准的字符集的类,提供了常用的字符集

8、int  str.hashCode()

返回字符串的哈希码

public static void main(String[] args) {
    String a = "abc";
    System.out.println(a.hashCode());
}

9、int   str.index(String s)

返回指定字符字符串中第一次出现的索引位。

public static void main(String[] args) {
    String a = "abc";
    System.out.println(a.indexOf("b"));
}

10、boolean  str.isEmpty()

字符串是否为空。

public static void main(String[] args) {
    String a = "1";
    System.out.println(a.isEmpty());
}

11、int  lastIndexOf()

指定字符在字符串中最后出现的索引位

public static void main(String[] args) {
    String a = "acbcdce";
    System.out.println(a.lastIndexOf("c")); // 5
}


 12、boolean  str.matches(String regex)

判断字符串是否匹配给定的一个正则。

public static void main(String[] args) {
    String a = "123";
    System.out.println(a.matches("\\d{3}")); // true
    System.out.println(a.matches("\\d+")); // true
}

13、String str.repalce( String  targetString, String newString )

替换字符串,参数一也可以是String类型的正则表达式。

public static void main(String[] args) {
    String a = "abcde1ab";
    String n = a.replace("ab", "0000");
    System.out.println(n); // 0000cde10000
    System.out.println(a); // abcde
}

14、String[ ] str.split( String  regex)

以某个规则来分割字符串(正则或某个符号)

public static void main(String[] args) {
    String a = "1,20,5";
    String b = "1|3|8";
    String c = "a b c";
    String[] arr = a.split("(-|,|\\||\\s)");
    System.out.println(JSON.toJSONString(arr));

    String[] arr1 = b.split("(-|,|\\||\\s)");
    System.out.println(JSON.toJSONString(arr1));
    
    String[] arr2 = c.split("(-|,|\\||\\s)");
    System.out.println(JSON.toJSONString(arr2));
}

 

15、boolean str.startsWith( String  s)

是否以指定的字符串开头。

16、String  str.substring(int start)、String  str.substring(int start, int end)

截取字符串,返回被截取的字符串。

public static void main(String[] args) {
    String a = "abcde";
    System.out.println(a.substring(3));
    // 左闭右开原则
    System.out.println(a.substring(1, 3));
}

 17、String   str.toLowerCase()

转小写字母。

18、String str.trim()

删除头尾空格。

19、String.valueOf(xxx)

把不是字符串的元素转成字符串。

String a = String.valueOf(123);
System.out.println(a instanceof String); // true

底层还是调用toString方法

 传入一个引用值底层也是调用toString() 方法

 

20、System.out.println();

本质上它会先转成字符串在输出结果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值