str.charAt(i)和c.charValue()区分(c是Character (对象))

虽然它们最终都指向一个"字符",但在 Java 程序开发中,它们的使用场景和对象来源完全不同。

1. str.charAt(i):用于"读取字符串"

  • 来源 :这是 String 类提供的方法。
  • 用途 :当你手中有一个 String 对象(字符串)时,你用它来获取字符串中指定索引位置的那个字符。
  • 返回类型 :直接返回基本类型 char
  • 理解方式:就像在书架上寻找第 i 本书,直接把书抽出来。

2. c.charValue():用于"操作包装类对象"

  • 来源 :这是 Character 类(基本类型 char 的包装类)的方法。
  • 用途 :当你手中已经有一个 Character 对象时,通过调用这个方法,把这个对象"解包",取出它内部真正存储的那个基本类型 char
  • 返回类型 :返回基本类型 char
  • 理解方式:就像手里拿了一个装着字符的盒子,这个方法负责把盒子打开,取出里面的字符。

对比总结表

特性 str.charAt(i) c.charValue()
主体对象 是一个 String (字符串) 是一个 Character (对象)
操作目的 从字符串中提取特定位置的字符 把包装对象"拆箱"成基础字符
返回内容 基础字符 char 基础字符 char

打个比方:

  • str.charAt(i) 就像是从一串珠子里挑出其中一颗。
  • c.charValue() 就像是你手里已经拿了一颗珠子,但是这颗珠子外面还包了一层保护膜,你需要把它拆掉才能使用珠子本身。
相关推荐
2602_9599609240 分钟前
大厂Java面试:Spring Boot、JVM、Redis、Kafka与Elasticsearch在内容社区UGC场景下的实战拷问
java·jvm·spring boot·redis·面试题
St_rive8 小时前
Page Object设计模式
java·开发语言·设计模式
风流 少年8 小时前
Spring AI 2.0:SSE
java·人工智能·spring
凤山老林9 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
Aphelios38011 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~11 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
Lam Tang11 小时前
APS 系列文章10
java·代理模式
考虑考虑12 小时前
Excel导入时产生特殊字符处理
java·后端·java ee
Scabbards_12 小时前
面试Leetcode - Heap 堆
java·leetcode·面试
程序员清风13 小时前
专业再升级!程序员专属显示器明基RD280UG上手实测!
java·后端·面试