字符串string

字符串string

1:创建字符串方式

字面量创建的方式 

  1. 存放在堆里面
  2. 有string独立管理的字符串常量内存区  JDK1.8字符串常量区  放置在堆中

Intern()方法只针对两个字符串内容相等时,调用intern方法会先判断常量池中是否存在相同的字符串内容,如果存在,则返回字符串对象的引用

总结:说明string在栈和堆中不同的内存表达方式。

思考:string s1=“helloworld”

    String s2=”hello”+”world”

    S2.intern

    String s3=”hello”

    String s4=”world”

    String s5=s3+s4

判断两两是否相等==

/**
 * 
 */
package com.zhiyou.O;

import java.util.Arrays;
//import java.lang.*;
//*计算机属于通配符 代表lang所有类都导入过来
//lang是java的基础包,所以默认已经导过来
/**
 * @author Administrator
 *
 */
public class StringClass {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
/*//		1字面量创建字符串对象的方式iterals
		String str1 ="hello";
//		2传统的创建方式
//		这里hello就是匿名字符串
		String str2 = new String("hello").intern();
//		
		String str3 = str1;
//		如果字符串常量池中之前有hello字符串对象,则str4直接指向这个字符串
//		不用重新开辟的内存空间,如此,可以节省内存资源
		String str4 = "hello";
//	匿名字符串执行完毕后,就会被当成垃圾被gc回收。	
		System.out.println(str1==str2);
		
		System.out.println(str1==str3);
		
		System.out.println(str1==str4);*/
		
		/*String s1 = "helloworld";
		String s2 = "hello"+"world";
		String s3 = "hello";
		String s4 = "world";
		String s5 = s3 + s4;
		System.out.println(s1==s2);
		System.out.println(s2==s3);
		System.out.println(s3==s4);
		System.out.println(s4==s5);
		System.out.println(s5==s1);
		System.out.println(s5==s2);*/
		
//		避免nullpointerException
		String str1 = null;
//		字符串常量会放在前面,调用方法
		System.out.println("laosun".equals(str1));
		
//		字符串的api方法   API	看类的结构  看那类中有呢些属性和方法供调用
//		application program interface
//		应用程序接口
		 String str2 = "helloworld";
		 char char1 = str2.charAt(str2.length()-1);
		 System.out.println(char1);
		 
//		 indexOf(char)返回某一个字符的索引值
		 int index = str2.indexOf('l');
		 System.out.println(index);
		 
//		 前缀后缀  返回值为boolean
		 boolean isStart = str2.startsWith("hello");
		 boolean isEnd = str2.endsWith("rld");
		 System.out.println(isStart);
		 System.out.println(isEnd);
		 
//		 拼接
		 String str7 = "laosun" + "is a handsome java man";
		 System.out.println(str7);
		 
		 String str8 = str2.concat(" this is helloworld");
		 System.out.println(str8);
		 
//		 截取
		 String subStr1 = str7.substring(4);
		 String subStr2 = str7.substring(4, 8);
		 System.out.println(subStr1);
		 System.out.println(subStr2);
		 
//		 替换replace   返回一个string
		 
		 String replaceStr1 = str7.replace("java", "c++");
		 System.out.println(replaceStr1);
		 
//		 分割	返回值类型是一个string[]数组
//		 开发过程中,分割URL,文件的地址C:/zhiyou/java/a.txt
		 String[] splitArr = str7.split(" ");
		 for (String string : splitArr) {
			System.out.println(string);
		}
		 
		 String packageStr = "com.zhiyou.string.laosun.demo";
		 String [] array=packageStr.split("\\.");
		 System.out.println(array.length);
		 for (String string : array) {
			System.out.println("---"+string);
		}
		 
//		 trim 去除字符串两边的空格
		 System.out.println(" lao sum ".trim());
//		 trim去除的是半角的空格,对于全角的空格 (Unicode为12288)是无效的
//		 解决方法是先用半角的空格去替换,然后再用trim方法
		 
//		 大小写转换
		 System.out.println(str7.toUpperCase());
		 System.out.println(str7.toLowerCase());
		 
//		 练习:1:判断回文	123321
//		 	2:safjkhbkdsbn153141332要求每4个字符分割成为一段
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值