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获取指定日期是第几周

    如何用java获取指定日期是第几周

    这篇文章主要给大家介绍了关于如何用java获取指定日期是第几周的相关资料,在开始之前我们需要先了解如何获取当前日期所在的年份以及第几周,在Java中可以使用Calendar类来获取这些信息,需要的朋友可以参考下
    2023-09-09
  • Java内部类应用之静态内部类应用示例

    Java内部类应用之静态内部类应用示例

    这篇文章主要介绍了Java内部类应用之静态内部类应用,结合实例形式分析了Java静态内部类的原理、功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • Springboot+redis+Interceptor+自定义annotation实现接口自动幂等

    Springboot+redis+Interceptor+自定义annotation实现接口自动幂等

    本篇文章给大家介绍了使用springboot和拦截器、redis来优雅的实现接口幂等,对于幂等在实际的开发过程中是十分重要的,因为一个接口可能会被无数的客户端调用,如何保证其不影响后台的业务处理,如何保证其只影响数据一次是非常重要的,感兴趣的朋友跟随小编一起看看吧
    2019-07-07
  • Springboot实现ModbusTCP通信的示例详解

    Springboot实现ModbusTCP通信的示例详解

    ModbusTCP协议是Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准,本文主要介绍了Springboot实现ModbusTCP通信的相关知识,需要的可以参考下
    2023-12-12
  • java isInterrupted()判断线程的实例讲解

    java isInterrupted()判断线程的实例讲解

    在本篇内容里小编给大家分享的是一篇关于java isInterrupted()判断线程的实例讲解内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • springboot获取真实ip地址的方法实例

    springboot获取真实ip地址的方法实例

    在使用springboot时,需要获取访问客户端的IP地址,所以下面这篇文章主要给大家介绍了关于springboot获取真实ip地址的相关资料,需要的朋友可以参考下
    2022-06-06
  • SpringBoot读取excel表格的示例代码

    SpringBoot读取excel表格的示例代码

    这篇文章主要介绍了SpringBoot读取excel表格的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Java编写时间工具类ZTDateTimeUtil的示例代码

    Java编写时间工具类ZTDateTimeUtil的示例代码

    这篇文章主要为大家详细介绍了如何利用Java编写时间工具类ZTDateTimeUtil,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • 关于idea2020.3升级lombok不能使用的问题

    关于idea2020.3升级lombok不能使用的问题

    这篇文章主要介绍了关于idea2020.3升级lombok不能使用的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 浅谈Springboot实现拦截器的两种方式

    浅谈Springboot实现拦截器的两种方式

    本文详细的介绍了Springboot拦截器的两种方式实现,一种就是用拦截器,一种就是过滤器,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论