一、toLowercase()方法概述
在Java编程中,经常需要处理字符串的大小写,其中toLowerCase()方法就是将字符串转换为小写字母。该方法属于String类的一种方法,可以对所有字符串进行操作,返回结果是一个新的字符串,而不是对原有字符串进行修改。
其基本语法如下:
public String toLowerCase()
该方法不需要传递任何参数,返回值是一个新的字符串,该字符串由调用toLowerCase()方法的字符串转换为小写字母后得到。
二、使用示例
以下代码演示了toLowerCase()方法的基本使用:
public class Test { public static void main(String[] args) { String str = "Hello world!"; String lowercase = str.toLowerCase(); System.out.println(lowercase); } }
以上代码输出结果:
hello world!
可以看出,toLowerCase()方法将原字符串转换为小写形式后返回一个新的字符串。
三、思考拓展
(一) toLatin1() 方法的使用
String类中提供了toLatin1()方法,这个方法将一个字符串转换为一个没有符号扩展的Latin-1(ISO8859-1)编码的字节数组。在构建Java虚拟机时,如果检测到一个字符串toLatin1()方法被连续调用,虚拟机就会尝试在Java虚拟机中缓存该字节数组。(关于Java字串编码请参考JVM规范)下面是一个示例代码:
public class Test { public static void main(String[] args) { String str = "Hello world!"; byte[] bytes = str.getBytes(); byte[] latin1Bytes = str.getBytes(Charset.forName("ISO-8859-1")); for (byte b : bytes) { System.out.print(b + " "); } System.out.println(); for (byte b : latin1Bytes) { System.out.print(b + " "); } System.out.println(); } }
以上代码输出结果:
72 101 108 108 111 32 119 111 114 108 100 33 72 101 108 108 111 32 119 111 114 108 100 33
可以看出使用toLatin1()方法将原字符串转换为ISO8859-1编码的字节数组后,得到与默认的字节数组相同的结果。
(二) Unicode 大小写转换
由于Java是一种面向国际化编程的语言,因此对不同语言的字母大小写转换方式也需要进行处理。Java中的String类提供了一个静态方法toUpperCase(Locale loc),该方法将字符串转换为大写形式,其中loc参数指定了体现语言环境的Locale对象。另外还有一个toLowerCase(Locale loc)方法直接将字符串转为小写形式。下面是一个示例代码:
public class Test { public static void main(String[] args) { String str = "你ABC汉DEF"; String uppercase1 = str.toUpperCase(); String uppercase2 = str.toUpperCase(Locale.ENGLISH); String lowercase1 = str.toLowerCase(); String lowercase2 = str.toLowerCase(Locale.ENGLISH); System.out.println(uppercase1); System.out.println(uppercase2); System.out.println(lowercase1); System.out.println(lowercase2); } }
以上代码输出结果:
你ABC汉DEF 你ABC汉DEF 你abc汉def 你abc汉def
可以看出,对于中文字符,无论如何转换大小写都不会影响它的本质,而对于英文字母,转换大小写可以使用默认的Locale.ENGLISH环境。
(三) Lambda 表达式与 toLowerCase()
Java 8引入了Lambda表达式,该特性可以使我们在代码中更加简洁地处理字符串等非平凡操作,下面是一个使用Lambda表达式的toLowerCase()方法示例:
import java.util.stream.*; public class Test { public static void main(String[] args) { String str = "HeLLo WORLD"; String lowercase = Stream.of(str) .map(s -> s.toLowerCase()) .findFirst() .orElse(""); System.out.println(lowercase); } }
以上代码输出结果:
hello world
可以看出,使用Lambda表达式可以使代码更加简洁明了,而且还支持链式操作,不过应该注意,Lambda表达式需要基于Java 8或以上的版本。
四、总结
toLowerCase()方法是Java语言中提供的字符串转小写的经典方法,相信通过本文对于该方法的讲解,读者们已经对于该方法的使用方式以及内部机制有了更好的理解。同时,在使用过程中,也要注意多和其他语言的支持进行比较,以便更加完美的处理各种情况下的大小写转换。最后,Learn to love Java,to experience more surprises of the programming world!