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 必知必会的 URL 和 URLConnection使用

    Java 必知必会的 URL 和 URLConnection使用

    这篇文章主要介绍了Java 必知必会的 URL 和 URLConnection使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java 关键字 速查表介绍

    Java 关键字 速查表介绍

    下面小编就为大家带来一篇Java 关键字 速查表介绍。小编觉得听不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java实现Word/Pdf/TXT转html的实例代码

    Java实现Word/Pdf/TXT转html的实例代码

    本文主要介绍了Java实现Word/Pdf/TXT转html的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Java如何防止JS脚本注入代码实例

    Java如何防止JS脚本注入代码实例

    这篇文章主要介绍了Java如何防止JS脚本注入代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • java.lang.Void类源码解析

    java.lang.Void类源码解析

    这篇文章主要介绍了java.lang.Void类源码解析的相关内容,对源码中的部分内容进行解释,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • SpringMVC事件监听ApplicationListener实例解析

    SpringMVC事件监听ApplicationListener实例解析

    这篇文章主要介绍了SpringMVC事件监听ApplicationListener实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • HashMap源码中的位运算符&详解

    HashMap源码中的位运算符&详解

    这篇文章主要介绍了HashMap源码中的位运算符&详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Mybatis中#{}和${}传参的区别及#和$的区别小结

    Mybatis中#{}和${}传参的区别及#和$的区别小结

    这篇文章主要介绍了Mybatis中#{}和${}传参的区别及#和$的区别小结 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • IntelliJ IDEA多屏后窗口不显示问题解决方案

    IntelliJ IDEA多屏后窗口不显示问题解决方案

    这篇文章主要介绍了IntelliJ IDEA多屏后窗口不显示问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 深入了解Java中String、Char和Int之间的相互转换

    深入了解Java中String、Char和Int之间的相互转换

    这篇文章主要介绍了深入了解Java中String、Char和Int之间的相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06

最新评论