10中java常见字符串操作实例

 更新时间:2019年07月18日 08:46:22   作者:angryTom  
给大家分享10中java常见字符串操作方法以及相关实例代码,对此有需要的读者们可以学习参考下。

java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。今天就为大家介绍一下java常见的字符串操作方法。

一、使用length()方法获取字符串的长度

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //length():统计当前字符串的字符个数

    int i = str.length();

    System.out.println(i);

    }

  }

二、使用indexOf()方法查找指定字符再字符串中的位置

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //indexOf():查找指定字符再字符串中的位置

    int index = str.indexOf("a");

    System.out.println(index);

    }

   }

三、使用toUpperCase()方法将字符串中的字符变为了大写形式

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //小写转大写

    //toUpperCase():将字符串中的字符变为了大写形式

    String str = str.toUpperCase();

    System.out.println(str);

    }

    }

四、使用toLowerCase()方法将字符串中的字符变为小写

public class maintest {

  public static void main(String[] args) {

    //toLowerCase():将字符串中的字符变为小写

    String str = "WWMMDDHH";

    String str1 = str3.toLowerCase();

    System.out.println(str);

    }

   }

五、使用substring()方法截取字符串

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //substring:截取字符串

    String str = "abcdefg";

    String str = str5.substring(0, 3);

    System.out.println(str);

    String str = str5.substring(3);

    System.out.println(str);

   }

  }

六、使用replaceAll()方法替换当前字符串中指定内容

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    String str = str5.replaceAll("abc", "xyz");

    System.out.println(str);

    }

   }

七、使用trim()方法能够去掉当前字符串中两端的空格

public class maintest {

  public static void main(String[] args) {

    String str = " abc def ";

    System.out.println(str.length());

    String str1 = str9.trim();

    System.out.println(str);

    System.out.println(str1);

  }

 }

八、字符串+字符串 等于拼接

public class maintest {

  public static void main(String[] args) {

    String str1 = "123";

    String str2 = "100";

    System.out.println(str1+str2);

  }

 }

九、将字符串变为整数

public class maintest {

  public static void main(String[] args) {

    String str1 = "123";

    String str2 = "100";

    int num1 = Integer.parseInt(str1);

    int num2 = Integer.parseInt(str2);

    System.out.println(num1+num2);

  }

 }

十、使用charAt()找到指定字符串中位置的字符

public class maintest {

  public static void main(String[] args) {

    String str1000 = "abcde";

    //charAt:找到指定字符串中位置的字符

    char char = str1000.charAt(2);

    System.out.println(char);

  }

  }

 java字符串的比较

总体来说java中字符串的比较是==比较引用,equals 比较值的做法。(equals 对于其他引用类型比较的是地址,这是因为object的equals方法比较的是引用),但是不同的声明方法字符串的比较结果也是不同的。

例如:

String str1=new String("a");
String str2=new String("a");
str1==str2 输出false
str1.equals(str2) 输出true
而如果这样声明 
String str1="a";
String str2="a";
str1==str2 输出true
str1.equals(str2) 输出true

这是因为 equals 方法本来也是比较引用的 字符串类在实现的时候重写了该方法, 第一种声明方法等于是声明了两个对象,用'==‘比较是时候比较的是引用输出的是false 由于他们的值相同用equals的时候就比较的是值了,输出true。

而第二种情况不是因为比较有与第一种有差异,而是因为声明有差异,第二种声明方法在声明的时候有堆或堆栈 共用的现象,也就是说 在声明的时候如果如果声明为类属性他会检查在堆栈中有没有与现在声明的是相同结构的字符串。如果有就直接将地址指向已有内存地址。声明在方法内部的局部变量原理一样只不过他是堆栈共享。
对应上面是示例:

第一种情况:

(1) 声明一个string类型的对象 str1,这个操作会在内存中示例化一个string类型的对象。
(2) 再声明一个String类型的对象str2,这个操作会在内存中示例化另一个String类型的对象,与第一个对象相互独立。
(3)比较两个对象的引用,因为他们是相互独立的所以输出false
(4)比较两个对象的值,他们虽然是独立的内存区域但是有共同的内存结构(值),输出true

第二种情况:

(1)声明一个字符串str1 会示例化一个String类型的对象。
(2)声明另一个字符串 ,现在会检查在同一作用域中有没有相同的内存结构的变量,如果有就直接将将地址指向他。
(3)==比较他们有相同的地址,
(4)equals比较他们有相同的内存结构(值)。

相关文章

  • Java设计模式之模板模式(Template模式)介绍

    Java设计模式之模板模式(Template模式)介绍

    这篇文章主要介绍了Java设计模式之模板模式(Template模式)介绍,定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中,需要的朋友可以参考下
    2015-03-03
  • SpringCLoud搭建Zuul网关集群过程解析

    SpringCLoud搭建Zuul网关集群过程解析

    这篇文章主要介绍了SpringCLoud搭建Zuul网关集群过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • SpringBoot多环境开发与日志小结

    SpringBoot多环境开发与日志小结

    这篇文章主要介绍了SpringBoot多环境开发与日志,下面给大家说一下如何基于多环境开发做配置独立管理,务必掌握,需要的朋友可以参考下
    2022-08-08
  • Java中Maven的依赖管理问题小结

    Java中Maven的依赖管理问题小结

    这篇文章主要介绍了Java中Maven的依赖管理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-05-05
  • 关于springboot整合swagger问题及解决方法

    关于springboot整合swagger问题及解决方法

    这篇文章主要介绍了关于springboot整合swagger问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • SpringBoot文件分片上传的示例代码

    SpringBoot文件分片上传的示例代码

    分片上传在很多地方都可以使用的到,本文主要介绍了SpringBoot文件分片上传的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 浅谈Java中强制类型转换的问题

    浅谈Java中强制类型转换的问题

    下面小编就为大家带来一篇浅谈Java中强制类型转换的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • JAVA工程中引用本地jar的3种常用简单方式

    JAVA工程中引用本地jar的3种常用简单方式

    Jar文件的全称是Java Archive File即Java归档文件,主要是对class文件进行压缩,是一种压缩文件,和常见的zip压缩文件兼容,下面这篇文章主要给大家介绍了关于JAVA工程中引用本地jar的3种常用简单方式,需要的朋友可以参考下
    2024-03-03
  • Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析

    Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析

    这篇文章主要介绍了Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析,需要的朋友可以参考下
    2017-05-05
  • SpringBoot+vue实现登录图片验证码功能

    SpringBoot+vue实现登录图片验证码功能

    这篇文章主要给大家介绍一下如何SpringBoot+vue实现登录图片验证码功能,文中有详细的代码示例,具有一定的参考价值,需要的朋友可以参考下
    2023-07-07

最新评论