今天随便看了一下JDK源码 ,很偶然的漂到了,String 的 toLowerCase
看到一段 代码:
scan: {
for (firstUpper = 0 ; firstUpper < count; ) {
char c = value[offset+firstUpper];
if ((c >= Character.MIN_HIGH_SURROGATE) &&
(c <= Character.MAX_HIGH_SURROGATE)) {
int supplChar = codePointAt(firstUpper);
if (supplChar != Character.toLowerCase(supplChar)) {
break scan;
}
firstUpper += Character.charCount(supplChar);
} else {
if (c != Character.toLowerCase(c)) {
break scan;
}
firstUpper++;
}
}
return this;
}
真是奇怪,想了想不知道该怎么理解这段代码,难道 他就是 传说中的goto ?
百度了一下果然如此,但是goto不是很早就被摒弃了么?(由于可读性 之类的问题)
那么为何java大师们还在 源码中 这样定义呢? 有木有一个合理的解释啊?
分享到:
相关推荐
在Java编程中,实现输入汉字拼音首字母自动显示出数据库中相应内容的功能,是常见的文本框自动补全(AutoComplete)技术的一种应用场景。这种技术通常用于提高用户输入的效率和准确性,常见于搜索引擎、输入法软件...
3. **比较字符串**:Java提供了多种比较字符串的方法。`equals()`用于比较两个字符串的内容是否相同,而`compareTo()`则基于Unicode值进行比较,返回值为0表示相等,正数表示当前字符串大于另一个,负数表示小于。 ...
在Java编程语言中,对用户名进行比较排序是一个常见的任务,特别是在开发用户管理系统或者任何涉及到用户数据展示的应用中。这个任务通常涉及到字符串的比较和排序,Java提供了强大的工具来实现这一功能。下面我们将...
### Java实现文件下载并解决中文文件名乱码 在日常的Web开发中,经常会遇到需要让...通过以上步骤和注意事项,我们可以有效地实现Java中文件的下载功能,并且解决了中文文件名可能带来的乱码问题,提高了用户体验。
2. **String类**:Java中的`String`类是处理文本的基础,提供了许多方法用于操作字符串,如`toLowerCase()`用于转换为小写,`replace()`用于替换字符,但它们无法直接将中文转换为拼音。 3. **Pinyin4j库**:在Java...
### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛应用于各种场景之中。为了更好地理解和运用Java语言,掌握字符串的各种操作方法至关重要。下面将详细介绍Java中字符...
Java语言中的String类是处理字符序列的核心类,它在java.lang包中,是所有Java程序的基础。String类被声明为final,这意味着它不能被继承,提供了对字符串操作的高度封装和安全保证。 ### 1. 构造字符串对象 **...
【Java中驼峰与下划线的转换】在Java编程中,经常需要处理不同命名规范之间的转换,尤其是在数据库与实体类交互的时候。数据库字段通常采用下划线分隔的命名方式,例如`user_name`,而Java实体类的属性则多采用驼峰...
JAVA中常用类的常用方法主要涵盖了java语言中基础类库的关键类以及它们提供的主要方法。以下是针对文档内容的详细解释: 1. java.lang.Object类 Object类是Java中所有类的超类,它提供了多种方法,这些方法在Java中...
在Java编程中,统计文本文件中字母出现的频率是一项常见的任务,这可以帮助我们理解文本的特性,例如在语言模型或信息检索系统中。这个任务的关键是读取文件内容,转换为字符数组,然后进行计数。以下是实现这个功能...
Java是世界上最流行的编程语言之一,尤其在企业级应用和互联网开发中占据主导地位。因此,对Java的理解和掌握,特别是面试中的常见问题,是每个Java开发者必须熟练掌握的。以下是一些Java面试中常见的知识点: 1. ...
在Java编程中,大作业通常涉及实际应用中的问题解决,这次的任务是利用数组实现一个队列排序,并且能够动态地插入新的元素。这个任务主要涵盖了两个核心知识点:数组的使用和排序算法。下面将详细解释这两个方面。 ...
##### 第3小时:Java之旅 - **Oracle简介**:介绍Java的起源及其与Oracle的关系。 - **Java简史**:回顾Java的发展历程。 - **Java的应用场景**:探讨Java在不同领域的实际应用案例,如Food Network、NASA等。 - **...
以下是一些关于如何在Java中获取桌面路径的重要知识点: 1. **Java Desktop API**: Java提供了一个名为`java.awt.Desktop`的类,它包含了一些方法来与用户的桌面环境进行交互。虽然这个类不能直接返回桌面路径,但...
在Java编程语言中,字符串是一个至关重要的概念,它是由一个或多个字符组成的序列。字符串在内存中被视为不可变对象,即一旦创建,其内容就不能更改。Java标准库中的`java.lang`包提供了两个主要的字符串类:`String...
Java String类是Java编程语言中的核心类,它用于表示和操作字符串。由于字符串在编程中极为常见,理解和熟练掌握String类的用法至关重要。在面试中,Java String类的操作和用法经常成为考察的重点。 首先,Java ...
### JAVA源码:根据星期首字母输出完整星期 #### 知识点概览 1. **基础输入输出操作** - 使用`Scanner`类进行控制台输入。 2. **字符串处理** - 字符串转换为小写。 - 获取字符串中的特定字符。 3. **流程控制**...
Java中的String类是编程中非常基础且重要的一个类,它代表不可变的字符序列,即一旦创建,其内容就不能更改。下面我们将详细讨论String类的一些主要特性、实例化方式以及常用方法。 1. **String类的实例创建**: -...
读取的内容被存储在file变量中,最后使用toLowerCase()方法将所有的英文字母变成小写,以便统一处理。 二、 分词 在该实验中,使用java的StringTokenizer类来实现文档的分词。StringTokenizer类可以根据指定的分界...