JAVA | 4
来源:互联网 发布:网站编程语言有哪些 编辑:程序博客网 时间:2024/06/07 16:53
String 类
== 是进行数值相等判断的,用在字符串上表示判断内存地址数值是否相等,而 equals() 方法判断的是字符串内容是否相等。
字符串是 String 类的匿名对象,给字符串直接赋值,相当于给匿名对象设置了一个名字而已,但是 String 类的匿名对象是系统自动生成的,不由用户自己直接创建。
开发过程中,要判断输入的字符串的内容是否是某一字符串,调用字符串的 equals() 方法,而不是输入值的,这样可以避免输入值为 null 时产生的空指向异常。
共享设计模式:JVM 底层存在一个对象池,直接赋值定义的 String 类对象时,会将此字符串对象的匿名对象入池保存,其它直接赋值的对象,如果内容相等,则不会开辟新的堆内存空间,而是使用已有的对象堆内存空间地址。
直接赋值:只会开辟一块堆内存空间,并且自动入池;构造方法:开辟两块堆内存空间(其中一块内存空间将会成为垃圾)。不会自动入池,但是可以使用 intern() 方法手工入池。一般直接采用直接赋值法。
字符串一旦声明则不可改变,可以改变的只是 String 类对象的引用。
package com.company;public class Main { public static void main(String[] args) { //构造方法不入池 String strA = new java.lang.String("helloword!"); String strB = "helloword!"; //判断字符串对象堆空间地址是否一样 System.out.println(strA == strB); //构造方法入池 String strC = new String("java!").intern(); String strD = "java!"; //判断字符串对象堆空间地址是否一样 System.out.println(strC == strD); //判断字符串内容是否相等(区分大小写) System.out.println(strC.equals(strD)); //判断字符串内容是否相等(不区分大小写) System.out.println(strC.equalsIgnoreCase(strD)); //判断字符串大小 System.out.println(strC.compareTo(strD)); //字符串查找 System.out.println(strC.contains("!")); System.out.println(strC.indexOf("va!")); System.out.println(strC.indexOf("va!",3)); System.out.println(strC.startsWith("ja")); System.out.println(strC.startsWith("va",2)); System.out.println(strC.endsWith("va!")); //字符串替换 String strF = strA.replaceAll("l","L"); String strG = strA.replaceFirst("l","L"); System.out.println(strF + " " + strG); //字符串截取 String strH = strA.substring(3); String strI = strA.substring(3,5); System.out.println(strH + " " + strI); //字符串拆分 String strJ = "one day one apple"; String arrB[] = strJ.split(""); String arrC[] = strJ.split(" "); String arrD[] = strJ.split(" ",2); print(arrB); print(arrC); print(arrD); String strK = "张三:北京|李四:上海"; String arrE[] = strK.split("\\|"); for(int i = 0; i < arrE.length; i ++){ String arrF[] = arrE[i].split(":"); System.out.println("姓名: " + arrF[0] + " " + "地址: " + arrF[1]); } //输出指定索引字符 char c = strA.charAt(0); System.out.println(c); //将字符串变为字符数组 char arr[] = strA.toCharArray(); System.out.println(arr[4]); //将字符串变为字节数组 byte arrA[] = strA.getBytes(); System.out.println(arrA[4]); //将字符串数组变为字符串 for (int i = 0; i < arr.length; i++) { arr[i] -= 32; } String strE = new String(arr, 4, 2); System.out.println(strE); //判断是否为数字构成的字符串 System.out.println(isNumber(strA)); //输出首字母大写后的字符串 System.out.println(initCap(strA)); //去掉字符串首尾的空格 strK = " java! "; System.out.println(strK.trim()); //判断字符串是否为空 System.out.println(strK.isEmpty()); } //判断字符串内是否由数字组成 public static boolean isNumber(String temp){ char arr[] = temp.toCharArray(); for(int i = 0; i < arr.length; i++) { if(arr[i] < '0' || arr[i] > '9') return false; } return true; } //输出字符串数组 public static void print(String temp[]){ for(int i = 0; i < temp.length ; i ++){ System.out.println(temp[i] + " "); } } //字符串首字母大写 public static String initCap(String str){ return str.substring(0,1).toUpperCase() + str.substring(1); }}
阅读全文
1 0
- 【Java】(4)Java注解
- Java-4
- Java 4
- java 4
- JAVA | 4
- Java沙箱(Java SandBox)[4]
- Java这十年 - Java 在中国 (4)
- Java学习(4)-Java.Lang包
- java exception java异常汇总(4)
- java exception java异常汇总(4)
- Java程序员必看电影:Java 4-ever
- Java程序员必看电影:Java 4-ever
- Java程序员必看电影Java 4-ever
- Java - 《Thinking in Java 第4版》
- java日期控件--4--MyCalendarPanel.java
- Java程序员必看电影:Java 4-ever
- Java基础系列----4、Java基础语法
- java复习4 Java基本数据类型
- 设计模式之适配器模式和外观模式
- 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
- POJ
- Linux+nginx+tomcat负载均衡
- 内容管理系统入门
- JAVA | 4
- LWC 57:720. Longest Word in Dictionary
- RenderTexture截屏出现白屏问题
- 史上最简单的 SpringCloud 教程 | 终章
- python中如何实现一行输入多个值
- Spark笔记 11_10_2017
- BloomFilter(大数据去重)+Redis(持久化)策略
- linux文件系统命令 df和du的区别
- linux下lua环境搭建