java.lang.string的简单介绍

发布时间:2022-11-13

本文目录一览:

  1. 登陆手机银行出现java.lang.string什么意思
  2. java不兼容的类型java.lang.String是怎么回事?
  3. java.lang.String的常用的方法

登陆手机银行出现java.lang.string什么意思

是后台变量的类型出错了...拿到的数据不是string类型,系统没办法放到string类型的变量中...所以会抛出这个异常,意思一般就是变量类型为java.lang.String类型,XXX变量不能赋给String类型变量

java不兼容的类型java.lang.String是怎么回事?

你不会把不是String类型的赋值给String的变量了吧 编译的时候报错吧,比如:

a.java:4: 不兼容的类型
找到: int
需要: java.lang.String
String s = 1;

java.lang.String的常用的方法

  • public boolean equals(Object obj)
    判断当前字符串与obj的内容是否相同
  • public boolean equalsIgnoreCase(String str)
    判断当前字符串与str的内容是否相同,这个方法不会区分大小写字母的区别
  • public int length()
    返回字符串的长度,即字符的总个数
  • public String trim()
    去掉字符串两端的空白,包括“空格,\t,\n,\r等控制符”
  • public String substring(int start,int end)
    根据开始和结束的位置,返回当前String的子字符串
  • public String substring(int start)
    从开始位置开始到字符串结束,返回子字符串
  • public char charAt(int index)
    返回指定位置的字符
  • public int indexOf(String str)
    返回子字符串在当前字符串的位置,如果当前字符串不包含子字符串就返回-1
  • public String concat(String str)
    返回一个字符串,内容是当前字符串与str连接而成的。
    字符串连接可以简化写为String str = str1 + str2;结果与concat方法相同
  • public boolean startsWith(String str)
    判断当前字符串,是否以str开头
  • public boolean endsWith(String str)
    判断当前字符串,是否以str结尾 ========================================================
String str = "I am " + "Lingo!";

这样可以获得一个内容为"I am Lingo!"的字符串,在java里可以通过这种简单的方式实现字符串的连接。 这里需要注意的是,这个过程实际上生成了三个String对象,"I am " 和"Lingo!"先被生成,然后用它们再创建一个String对象str,str的内容是两者的总和。所以,使用+进行字符串连接的时候会很耗费资源,这个时候就需要使用另一个类StringBuffer,它的内容是可以修改的,实际上jvm内部编译之后,“用+进行字符串连接”也是用StringBuffer实现的。

String str = "I am " + "Lingo!";
String str = new StringBuffer("I am ").append("Lingo!").toString();

上边两个是等价的。 StringBuffer类还提供了许多便利的方法,对字符串进行操作:

  • public void reverse()
    反转字符串
  • public void append(...)
    在字符串最后添加信息
  • public void insert(int start,...)
    在索引位置插入信息
  • public void delete(int start,int end)
    删除指定范围的内容

split与replaceAll方法

  • public String[] split(String regex)
    根据分隔符,把字符串切割成字符串数组
  • public String replace(String regex,String str)
    把字符串中所有与regex匹配的部分都替换成str

regex代表“正则表达式”,如果你并不清楚它的原理,很可能会出现问题。

  • "1,3,4".split(",") 返回的结果是{"1","3","4"}这三个字符串组成的数组
  • "1|3|4".split("|") 返回的结果却是{"1","|","3","|","4"}五个字符串组成的数组
    这个问题的原因是由于在“正则表达式”中,“|”是一个有特殊含义的字符,表示“或”,直接使用split("|")就会把每个字符分开了。如果希望使用|作为分隔符,就需要使用转义字符。
  • "1|3|4".split("\\|") 返回的结果就是{"1","3","4"}三个字符串组成的数组了
    “|”是正则表达式中代表|的专一字符,但因为在String中“\”不能单独出现,还需要进行一次转义,就变成了“\\|”这种形式。 replaceAll(String regex,String str)也是这种情况。