哈喽,一起来了解一下瑞迪时装是真人支付上数据类型,它的使用场景是什么呢?可以用于缓存用户的基本信息,一般是节省格式 或者登录时的认证信息接 wt, 再或者说实现记录器,比如像记录视频的点赞或者牛奶那样等等。下面来演示一下他的基础命令。第一个,如果说想要存储一个用户的托肯信息,我们可以通过 cit 命令指定一个用户遇到一,然后给他设置一个托肯值为 aaa 吧,然后回撤一下, 这里可以通过 get uzi 去查看我们设置的值。一般来说,一个用户的头款是需要设置过期时间的,我们可以通过 ctex 去指定给一个用户二,然后设置他的过期时间为六十秒,并给他指定一个值为 bbb, 然后回车一下,我们可以通过滴滴 l 去查看这个用户二的过期时间,他现在还剩十六秒。再看一下他的计数器功能吧,比如说 记录一条视频的点赞量,我们可以通过音可去指定给 v 一,然后点一个赞,他现在为一,然后我们再点一下他现在为二。如果想要取消赞,可以通过低可 v 一,这样的话就减为了一。 如果说想要一次性占十个,我们可以通过迎客掰,然后为一,设置一下增长量为十,他现在变为了十一。再咨询一下,他现在变为了二十一。 如果说想要减三个赞,我们可以通过低格掰指定为一去减三个赞,他现在变为十八,我们再减一下,他现在变为十五。如果说想要查看所有的一个 k 值,我们可以通过 k 值星,但是线上一般是不愿意使用这条命令的,并且他们会在配置文件中,然后去进入这条命令的相关使用。 如果说想要删除一个 k, 我们可以通过 d 友去删除微一,我们现在再去查看他的数据,现在只剩余额一了。通过这样一条龙服务操作下来应该比较简单吧。那么你们会在项目中使用时顺数据类型做什么业务开发呢?可以评论分享一下,谢谢!
粉丝8.4万获赞79.3万

大家好,今天我们来学习 java 的 string 类。 string 是 java 中用来表示字母串的核心类,它的最大特点是不可变性。这意味着一旦一个 string 对 象被创建,比如 string s 等于 hello, 它的内容就不能被改变。要记住这一点哦, 这在多县城环境下很安全。创建 string 对 象有两种常见方式,一是直接用双引号写字符串字面量,如 string s, 一 等于 java。 二是用 new 关键字,如 string s, 二等于 new, string java。 大家要注意字面量方式会附用字母串长量值更高效。而 new 每次创建新对象,获取字母串的长度很简单,调用 length 方法就行,例如 string store 等于 hello, int length 等于 extra length, 这会返回五、 记住,蓝色是方法,不是属性调用,识别漏了括号。访问字母串中的特定字,服用 charlatan x 方法,锁引从零开始,比如 string s 等于 abc, char c 等于 s, char it e 会得到 b。 要小心锁引越界, 否则会抛出异常哦。提取子字母串,用 substring 方法,参数是起始和结束缩引,例如 string sub 等于 hello, substring e 三会得到 l。 注意,结束缩引不包含在内,所以实际提取的是缩引一到二的字母。比较字母串式千万别用等于等于,因为它比较的是引用地址,不是内容。要用 equals 方法,如 s, e, equals 二、比如 string a 等于 high, string b 等于 new, string high, equals b 是 true, 但 a 等于等于 b 是 false。 大家要记住这个区别。 拼接字串儿可以用加操作符,如 hello, 加 word 或者 concord 方法,如 s 一, concord 二。但要注意加操作符在循环中性能较差, 因为它会创建临时对象,这时用 string builder 更好。转换打消写。用 topcase 和 tallercase 方法,例如 string upper 等于 hollow, topcase 会得到 hollow。 这些方法。返回新字串儿,原字串儿不变, 体现了不可变性。去除字母串两端的空白字。服用 trim 方法,比如 string trimmed 等于 text, trim 会变成 text。 这在处理用户输入时非常实用, 能避免多余空格导致的错误。替换字母串中的字。服用 replace 方法,如 string news 等于 apple replace be 会得到阿宝,它替换所有匹配的字母,但记住 string 不 可变, 所以返回的是新对象。分割字母串乘数组,用 split char 方法,参数是正则表达式,例如 string parts 等于 abc, split 会得到 abc。 基本用法简单, 但正则表达式可以更灵活。最后强调 string 的 不可变性,任何修改操作都返回新 string 对 象, 比如 s 等于 s two per case 原 s 没变,而是创建了新对象。这在性能敏感场景要用 stream builder, 但 stream 的 不可变设计确保了安全性和简洁性。

string 类型常用方法一,我们开始操作吧,我们第一步先定义一个 string 字符串,我们就写 hello world 的吧。我们第一个方法就讲一下返回指定字符位置吧, 我们用 chat at 方法,我们直接字符串点 chat 方法,要获取的字符位置就可以。我们返回的是一个 xr 类型,我们输出它,因为它是从下标零开始获取的,不明显,我们改成下标四,再输出一下,可以看到它输出了哦。 我们第二个是输出字符串长度,我们直接字符串点 length 就可以了,我们输出它 可以看到他输出了十一,说明我们字符串长度为十一。我们第三个讲的是判断字符串 是否相同,我们再创建一个字符串,我们先用等等判断,看看会咋样。他输出了 force, 我们再用 ecos 进行判断,可以看到他输出为 true。 我们第四个是判断字符串大小,如果他们相同会返回零,我们试一下, 可以看到他返回了零,如果他不一样,他会根据两个字符串的大小,就是比较他们的字符在 unico 的编码表中的顺序。我们第五个方法是将 string 字符串拆分为数组,我们试一下, 我们使用字符串点 split 方法进行测试,我们运行一下,啊,搞错了,我们输出了数组地址,我们先便利一下数组, 我们直接用增强 four 循环就可以啦。啊,知道了,我们直接加双引号隔开就好了。 好,可以看到他输出了,没有问题。到最后大家如果有想知道的东西在评论区列出来,我会给大家解答的。最后希望大家点赞加关注哦!

面试官问 script 为什么设计成 file 不 可变,要是你只答为了安全系统啊,就这么规定的,那薪资大概约只能卡到初级。 这题百分之八十的人都答的浮于表面,根本没说到面试官想听的底层逻辑。要是他追问啊,不设计成 file 会怎么样?你是不是当场蒙圈? 今天啊,三分钟把底层原理拆的明明白白。核心,哎,是三大底层变量, 少一个都不算达到点子上。第一啊,为了字不串长量尺,附用 jvm 的 长量尺本质是对向共享仓库,你写十个 hello, 尺子里其实只存一份,要是尺寸可变,有人改了其中一个引用的内容,其他九个全跟着乱套,长量尺直接报废,内存也得炸。第二, 为了哈希缓存提效。哈希 mac 的 k 为啥常用 string? 因为它不可变啊,哈希 code 只需要计算一次,之后直接缓存服用,要是可变,每次取 k 都得重算哈希哈希 mac 性能直接崩盘,聚合类都得跟着卡。第三, 还是安全兜底,网络连接啊,数据库 url, 加密密钥全是 seed 类型,要是能随便改,黑客改了参数就把你的数据库地址换了,或者把加密密钥篡改了, 系统直接瘫痪,你都不知道问题出在哪。所以下次面试直接这么秀。 seed 设计为 file 不 可变, 核心是三点,底层逻辑,第一,支撑自互串长量池,附用对象,节省堆内存。 第二,缓存哈希 code 避免重复计算,大幅提升哈希 map 等集合的性能。第三,保障安全性,防止网络请求、 数据库连接等核心参数被恶意篡改或意外修改。你学会了吗?记得点赞收藏面试资料我已经整理好放到主页了。我是 fox, 关注我技术面试不迷路。

好,你说一下这个 string 它为什么是不可变的啊?从两个方面说一下吧。首先,它这个类是 final 关键字修饰的,所以它没有指类可以来修改的。第二,它的底层就是一个 final。 等一下,我打断一下,你这个 final 具体修饰的是什么呢? 啊?就是最累,强调没有子累,对吧?啊,对,没有子累可以通过继承修改它。我们假设如果说 string 这个类上面没有加 final, 而是在它的那个字母数组上加上 final, 子类能不能改啊?子类改数组吗?对,改数组 啊,几乎不可能,就你加了 final 以后,一旦构造完成,它就不能再指向别的数组。但是最之所以在使用的时候看起来能修改,实际上就是六了。一个新的字幕串来修改, 相当于在原来自创创的基础上修改它的一个副本内容。嗯,没错,你还可以再补充一下 string, 它是为了防止修改还加了其他保障。首先, value 簇是 private 修饰的, 此类它拿不到 value 的 个引用。其次,就算你能够直接调用 string 的 一个构造器,把一个差的一个数值塞进去, string 也会立刻克隆一份, 你不可能塞一个你自己已经持有的可变数读进来。最后, stream 里面的所有能访问的方法返回的都是 value 的 一个拷贝,就算你通过某种方式拿到一个 stream 对 象,也改变不了它的一个内容,明白了吗? 理解 ok, 非常好啊,说的都比较准确。最后,视频配套的面试题答案都整理在评论区了。另外,如果近期面试受阻,没有面试机会,我们也有面试突击陪跑服务,可以私我咨询,从简历优化、项目包装、技术突击、面试突击、项目业务难点亮点梳理、模拟面试、面试复盘并向内推等。

各位朋友大家好,今天我们来聊聊一个在 java 世界里,从第一天起就伴随着每一位程序员的老朋友 string 类。到了二零二五年, java 已经发展到了二十一版本, 但这个类的核心地位依然无可动摇。它就像我们编程语言里的空气和水,无处不在, 却又因其设计精妙而常常被我们忽略其深度。简单来说, s t r i n g。 在 java 里代表一个不可变的函数训练。什么意思呢? 就是你一旦创建了一个函数串对象,里面的内容就再也不能被改变了。这种不可变性是它所有特性的基石,带来了安全、高效和简洁。它不属于八大基本数据类型,而是一个真正的类。 但 java 给了它像基本类型一样直接赋值的特权,比如 string greeting 等于。你好,二零二五好! 理解了它的本质,我们一起来逛逛它身上那些琳琅满目的能力,也就是它的方法。这些方法大体可以分为几类, 创建与构造、信息获取、比较、判断、查找、解锁、操作变换以及一些非常实用的现代工具。首先,怎么诞生一个 string 呢? 除了直接写双引号,我们还可以用 new string 这个构造器。它有很多重载形式,比如传入一个字母数组叉, 可以把一堆散落的字母组装成字母串,传入一个字节簇组 byte, 并指定字母集名称 charson name。 可以 把网络传输或文件读取来的二进制数据解码成我们认识的文字。 这里要注意字母集这个参数直观重要。处理中文或特殊符号时,如果选错,就可能出现乱码。字母串诞生后,我们自然想了解它。 link 方法,返回字母的个数, 这是对象方法。 is empty 和 is blank, 这是 java 十一引入的,都能判断是否为空。 is empty 要求长度为零, 而 is blank 连纯空白字体如空格制表符也认为是空。 charit into index 是 对象方法,根据下标获取单个字体。记住,下标是从零开始的,可别越界哦。接下来是比较和判断。 equals object, an object 是 最常用的,它比较内容是否完全相同, 强烈建议用它替代,等于来比较内容。 equals ignore case, string another string 则忽略大小写。 compared to string another string 和 compared to ignore case 则用于排序比较,按字典顺序返回差值。 starts with s t r i n g prefix ends with s t r i n g suffix 用来检查开头和结尾。 contains char sequence s, 看看是否包含某个子序列。这些都是对象方法, 需要你有一个字序链来调用。当我们需要在字序串这个文本海洋里查找定位时, 有一组强大的工具, index off index, off string string。 从前往后找某个字母或子串第一次出现的位置找不到,返回负一。它们还有重载版本,可以指定起始搜索点。 from index 对 应的 last i, n, d, e, x, o, f 系列 则从后往前找。这些方法在解析路径,截取内容时非常有用,重头戏来了,操作和变幻。因为字母串不可变, 所以所有这些方法都会返回一个全新的字母串,原串丝毫不变。 sub string int begin index 或 sub string int begin index, int and index 用于截取子串。注意参数是开始下标和结束下标 不包含结束点。本身 concaten string 用来连接,但现在我们更常用加号或者 string join replace char old char char new char or replace char sequence, target char sequence replacement 进行字母或序列的替换, to lower case 和 to upper case 进行大小写转换。 trim 能去掉首尾的空白符,而 java 十一的 strip strip leading strip trail 则对空白符的定义更广泛,更推荐使用 split。 string regx 是 重量级方法,它根据给定的正则表达式,把字串分割成一个字串数组。这个正则表达式参数 rejects 功能强大,但需要学习, 比如用逗号分割就是 split 逗号反过来把多个字母串拼接起来。我们可以用类方法, string join char sequence de limiter char sequence elements。 第一个参数是连接符,后面是可变长参数,用起来非常优雅。例如 string join 两千零二十五零一零一。 java 八之后, string 也加入了函数式编程的潮流。 char 方法返回一个 i, n, t, s, t, r, e, a, m, 让你可以用流的方式处理每个字母。 java 十一的 lines 方法则直接把一个多行字幕串按行分割成一个流,处理文本文件内容简直不要太方便。还有几个非常实用的新方法, repeat int count 可以 将字幕串重复多次。 formatted object arcs 作为实利方法,相当于 string format 的 快捷方式,用来做字幕串格式化。说到类方法,除了刚才提到的 join, 最重要的就是 format string format object arg, x 和 value 系列了。 format 方法利用格式函数串和参数生成格式化后的函数串功能强大,而 v a, l, u, e, o, f 可以 把几乎任何类型整数、浮点数、对象等转换为其函数串, 表示他是一个多才多艺的静态工厂。最后,我们不能忘记字母串的内部秘密,应 turn 这个方法,他会主动将字母串放入字母串长量池。对于大量重复字母串的场景,合理使用它可以节省内存, 但一般情况下我们不需要手动调用。好了,关于 java 二十一中 string 类的核心方法,我们就先聊到这里,他就像一把设计精良的瑞士军刀, 每一个方法都为了解决特定问题而生。理解他们不仅能让你编码更高效,也能让你更深的体会到 java 这门语言在 api 设计上的深思熟虑。希望这次漫步 能让你重新认识这位最熟悉的陌生人。下次当你敲下 s t r i n g 点的那一刻,或许会有更多得心应手的感觉。感谢您的耐心观看,我们下期再见!

接下来我们回来,我们继续,我们来聊一聊呢,数据类型的分类啊,刚才我们说敞亮,其实敞亮对于不同不同的类型啊,那些类型也就是数据类型,比如什么整形啊,福典型等等,是吧?那我们就来啊,把这个将所有的树类型啊,我们也进行一个分类。 那么对于数据类型来讲,我们第一大类叫基本数据类型类啊,就基本的。什么是基本的?那就跟那些不基本的对比对吧,就稍微简单的一些,那这些就叫基本的,或者说从那些复合的衍生的是吧?复杂的,饮用的这些类型相相对来说他是相对来说这个这个结构简单一点的。 那你像整数类型是什么?一二三四,分了分了分,分为四种啊,小整型、短整型,整型和长整型,分别叫做 bet、 short、 int 和 long 啊,有很多人问我,是吧,说兵哥我这玩意呢, 嗯,英语不太好是吧?学起来会不会有压力?我告诉你啊,从现在开始一直到你学完之后,你总共啊,你要认识的单词大约也就百十来个,天天你要轱辘这百十来个单词, 前期哥你可能记起来会觉得稍微有点吃力,可能一下啊,比如说今天我们就会接触好多个单词,但是后续像这些东西你想忘都难。那你做梦啊,你可能都会梦到这些单词追着你跑啊,因为啥?天天写,明白吗?天天写没有一天不写的。 那像这个小整形啊,叫做 bet, 那 在计算机当中啊,我们说占用一个字节的存储空间,然后呢上的类型占两个字节啊,浪类型占八个字节, 那么我们在前面我讲到那个叫计算机的存储单元的时候,我们说一个字节是八个二零之位,对吧?那他占的字节数越多,他的取值范围就越大。那就是说我们平时在使用啊,某一种数据类型的时候, 你需要考虑的问题就是,哎,我比如说我想存一个东西,那我存的这个东西,他这个取值范围大约是从多少到多少啊?我选择哪一种适当的数据类型?那你比如说我想存一个人的年龄 啊?打比方,其实这个在 java 当中并不重要啊,如果说像我以前做底层开发,做 c 语言单片机的时候,那这个存一个人的年龄呢?我肯定是用最小的,我用 byte 这种类型啊,那 c 语言里边还没有 byte, 那 只能用叉, 那 c 卷当中,对吧?就是少特,就是最小的这种整形了。但是在这个张华里边有一种 bet 啊,一个字节,那一个字节八个二点之位,那八个二点之位最大的取之范围是多少呢?有时候咱不知道,我好奇,那我 win 加计算器,那我们打个计算器,我们选择乘法计算器, 在乘法计算器里边,我们可以选中这个叫二乘以制啊。 b 八个二乘以制,我们敲一二三四五六七八, 我们看看啊,我画了八个一啊,对吧?写了八个一,他的实际值最大取值范围多少?是二百五十五,对吧?是二百五十五,但是呢,实际上在计算机当中存储啊。 啊,我们说如果是 bug 类型的话,还有一个最高位,就是二金质的最高位啊,就是最前面的那一位,他不是用来存储数值的,在掌握当中他是用来存储符号的 啊,原来存储符号,什么叫符号呢?正负号,明白吧?就是我如果我八个二阶之内都用来表示数值了,那就是零到二百五十五之间,那我想表示负数呢,就表示不了了,那怎么办?我还得留出来一位来存储数值。那这个是规定啊, 那也就是说实际上能存储的值是多少呢?那只有七个一,那七个一的话,我们一二三四五六七,我们得到的结果啊,我们来这个是到二阶之内啊。 sorry, 我们是一二三四五六七得到最大取值范围多少?是一百二十七,那就说小整形,他的这个最大的取值范围呢,实际上就是到一百二十七, 最小的取值范围呢是负的一百二十八,你说那这这你怎么算呢?你就记住啊,最大的取值范围加一天数号就是他的最小取值范围,任何的数类型都通用啊,记住这个就行。当然了,就你要说你不记,你懒得记,我觉得这个表啊,你一看就知道了。 那么根据他不同的这个占用字节的数量啊,他的这个取值范围是有区别的。那么浮点数呢,分为两种,一种叫单精度浮点型,另外一种叫双精度浮点型啊,单精度叫做 float, 双精度叫做 double 啊,单精度呢是占用四个字节啊, double 呢,占用八个字节,取值范围 double 更大,然后小点后的精确取值范围也会相对来说更大,但是呢更占用存储空间,相对来说我们 float 相对来说少一点,除非存不下的时候。 然后呢字母类型啊,字母类型叫做叉类型,在 java 当中它占用两个字节的存储空间,那那么比如说在 c 或者 c 加加里边的占的是一个字节啊,包括其他的开发语言都是一个字节,就 java 里边占的是两个字节, 那那么这个叉通常里边有存的可能就是一个字母啊,就是一个字母,那比如说 abc 啊,这种表示一个字母。 那布尔类型呢?刚才我也说过了,它里边只存真和假,对吧?所以说我们没有必要用更大的存储空间去存它,一个字节足矣啊,一个字节足矣。所以说占用最小存储空间的是 byte 和 布尔啊,和布尔类型,然后呢,最长的是 long 和 double 类型啊,最长的是 long 和 double 类型,然后呢,则中整形呢,一般是 int 类型和 float 类型啊,相对来说像少的类型很少用 啊,少的类型很少用。嗯,然后呢,像叉啊,一般可能在 java 当中用的时候也不是很多啊,通常我们可能这个都使用这个字串类型,使用语句啊来替代它的,那这个是基本数类型,我们做个简单的介绍,后边我们在实操时候一用一看就明白了。

所有数据类型都会向死顿转换。我们看个例子,第一个例子 有个字母串 hellowor 的加上一百,那么这个是整形,那么字母串和其他数据类型进行运算 啊。那么所有数据类型都向字母串转换。首先呢,将一百啊转换成一百字母串,然后和他拼接。大家注意啊,字母串相加,就是拼接的意思啊。结果呢,输出 hellowor 的一百, 哈喽包的一百。加就是拼接的意思啊,这个加不是我们数字那个意义上的加啊,自助串的加是拼接,就把它串起来。 我们看第二个例子, helloword 加三点一四 f, 这是负点行,加一点二三 d, 这是啊,这个大包的行啊。 那么你运算的时候,先把三点一四转化成字母串,三点一四,把一点二三转化成这个字母串的一点二三。然后他们拼接啊,变成哈喽三点一四,一点二三啊,拼接起来啊,就字母串加谁串谁啊。 大家注意啊啊叔叔,这个值大家注意,这是个自顾串,自顾串的内容是他 啊,一定要注意加上啊。那那么这有个小括号,大家先运算,运算完成三十, 然后再把这个三十转化成字母串啊,和他拼接。拼接后的结果是这个啊, 注意这个串和三十拼接啊。那么我们输出这种效果,说这个串和三十拼接,大家千万不要省略这括号,省略这个括号就会闹出个笑话啊。 闹出什么笑话?就是一加二十等于一千零二十啊,就会闹出这种笑话 啊。想想为什么?因为啊,他先把十转化成自古串,再把二十转化成自古串。那么他们仨拼接就是幺零二零啊,一十加二十等于幺零二零 啊,就是这个效果啊。所以想计算十加二十,千万呢?加括号先计算后转换。千万不能闹出这种笑话啊!千万不能闹出这种笑话啊!

在 job 中, string, string builder 和 string buffer lay 都用于处理字符串,但他们之间有一些重要的区别。 string the 不可变性 string 对象是不可变的,一旦创建,他们的值不能被更改。如果需要修改一个 string 对象的内容, 将创建一个新的 stream 对象。这意味着每次对字符串进行修改时都会创建一个新的字符串对象,可能会导致性能问题,特别是在大量字符串操作的情况下。常见操作 string 类提供了许多用于字符串操作的方法,如 concate, length, charad, substring 等。 string builder 类可变性 string builder 对 对象是可变的,可以在不创建新对象的情况下修改其内容。这使得 stream builder 更适合大量自扶串操作,以提高性能。性能 stream builder 的操作不会创建新的对象,因此他在执行大量自扶串,连接等操作时性能更好。 非县城安全 stream builder 对象是非县城安全的,因此在多县城环境中 需要手动同步访问 stream build 对象。常见操作 stream build 类提供了许多用于字符串操作的方法, 如 append, insert, delete, replace 等。 stream buffer 类 stream buffer 类与 stream builder 类类似,也是可变的,并 提供了相似的操作方法。主要区别在于, stream buffers 是县城安全的,适用于多县城环境,因为 stream buffers 是县城安全的,它的性能可能略低于 stream builder。 因此,在单线城环境中, 通常建议使用 stream builder。 从而言之,你可以根据需要来选择合适的类。如果你需要执行字符串操作,并且在多线程环境中可以选择 stream buffer。 如果你需要执行字符串操作,并且在单线城环境中,可以选择 string builder, 它通常具有更好的性能。如果你不需要修改字符串内容,或者需要保持字符串的不可变性,可以选择 string lay。

哈喽,大家好,我是专注加瓦干货分享的灰灰,昨天晚上收到一个粉丝的私信,他说自己在某些二面的时候问到了这个问题,也根据自己的理解回答了。当面试官明显觉得不满意,希望能听听我的回答,那我就和大家分享一下这道题。另外,我还准备了一份加瓦程序员学习路线图, 从技能提升、代码实战到架构思维构建都有详细的学习规划,有需要的小伙伴可以在评论区置顶领取。哈西是用来去保存结构化数据的, 虽然 steam 也可以通过节省的方式来保存结构化数据,但是相比于 steam 来讲,有以下几个优势。 第一个,可以更加高效的查询单个字段,比如想查询里面的某个字段,不需要经过阶层解析,直接可以基于字段去查询,并且能够进行操作。第二,基于单个字段的更改更加方便,并且能够 保证某个字段更改操作的一个原则性。所以啊,如果业务场景有很多基于单个字段去进行变更的场景,哈西数据类型比思韵类型更加的合适。相反,如果要查询对象的大部分字段,并且不需要对里面的单个字段进行变更的词骏类型比哈西类型更加的合适, 因为他能够去减少跟 redis 服务的一个交互次数。以上呢,就是我对这个问题的理解,如果对你有帮助的话,记得帮我一键三连,我是灰灰,我们下期再见!

只要把一分钟判断 three 类型的值是否相同,判断基本数据类型的值的时候,一般会用两个等号进行判断, 运行可以看到返回的值是 true。 但是在判断两个字符串是否相等的时候,假如我们依旧使用两个等号进行判断,可以看到运行的结果为 force, 但实际上两个字符串是相同的,因为两个等号比较的是字符串的内存地址,所以要使用 equals 方法进行比较, 运行后可以看到接 果为 two 判断成功。假如两个字符串大小写有区别,但是比较的时候想忽略大小写,这时就要调用 equals ignore case 方法, 运行后可以看到判断结果为 two。 判断成功,你学会了吗? nice!