在java中如果想对字符串进行多种类型的操作,那么string类的用法需要先进行掌握。可以说string涵盖了我们平时对字符串的基本使用,也是string用法的重要部分之一。本篇我们就创建字符串和intern方法带来详细介绍,然后就string的一些其他方法带来展示,帮助大家建立使用string的初步印象。
1.创建字符串
从表面上看,字符串就是双引号之间的数据,例如"Hello World",在Java中,字符串其实就是一个String类的对象,可以这样来定义一个字符串:
String str1="Hello World";//第一种方法 String str2=new String("Hello World");//第二种方法
2.intern方法
直接使用双引号声明出来的String对象会直接存储在字符串常量池中,如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法是一个native方法,intern方法会从字符串常量池中查询当前字符串是否存在,如果存在,就直接返回当前字符串;如果不存在就会将当前字符串放入常量池中,之后再返回。
static final int MAX = 1000 * 10000; static final String[] arr = new String[MAX]; public static void main(String[] args) throws Exception { Integer[] DB_DATA = new Integer[10]; Random random = new Random(10 * 10000); for (int i = 0; i < DB_DATA.length; i++) { DB_DATA[i] = random.nextInt(); } long t = System.currentTimeMillis(); for (int i = 0; i < MAX; i++) { //arr[i] = new String(String.valueOf(DB_DATA[i % DB_DATA.length])); arr[i] = new String(String.valueOf(DB_DATA[i % DB_DATA.length])).intern(); } System.out.println((System.currentTimeMillis() - t) + "ms"); System.gc(); }
3.其他用法
(1)length()
length求一个字符串的长度
(2)charAt()
char charAt(int index),返回String中index下标位置处的char,若index不合法,抛出IndexOutOfBoundsException异常。
(3)getBytes()
用平台默认的编码方式对String进行编码,并将结果储存到一个新的byte数组中。
(4)toCharArray()
将String转换成一个char数组
(5)equals()
public boolean equals(Object anObject)比较源String和anObject内容是否相等,
(6)equalsIgnoreCase()
用法类似equals(),只不过比较时忽略大小写
(7)compareTo()
public int compareTo(String anotherString),按字典顺序比较两个String的大小哦。
(8)contains()
boolean contains(CharSequence s),判断源String中是否含有s。包含则返回1,不包含则返回0。
(9)contentEquals()
boolean contentEquals(StringBuffer sb),方法比较字符串到指定的CharSequence。
(10)regionMatches()
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)。第一个参数ignoreCase表示比较时是否需要忽略大小,从toffset下标开始比较String和从下表ooffset开始String other是否相等,len表示指定比较的长度。
(11)startsWith()
boolean startsWith(String prefix)判断是否以prefix开头,是返回true,反之,则返回false
以上就是java中string的用法,通过本篇的学习我们可以看出,除了常见的字符串操作和intern方法外,对于比较和判断的操作,我们也是可以通过string来解决的。