String类的codePointAt()方法

2023-10-27

工作中遇到一段代码

1 private static String getClassNameWithoutPackage(Class cl) {
2     String className = cl.getName();
3     int pos = className.lastIndexOf(46) + 1;
4     if (pos == -1)
5       pos = 0;
6 
7     return className.substring(pos);
8   }

于是看jdk API,发现String.lastIndexOf(int ch),返回的值int index,返回指定字符在此字符串中最后一次出现处的索引。

参数:ch - 一个字符(Unicode 代码点)。即字符对应的ASCII码值或unicode值。包括 (0 和 0xFFFF)范围内的 ch 的值.

返回值:int index:字符最后一次出现的索引。

例:

1 String string= "abcdefghijklmnopqrstuvwxyz";
2 int index= string.lastIndexOf(97);
3 System.out.println("index="+index);

run :index=0;//即代码点97对应于ascII码表中的小写字母a。

相关方法:

String:

  public int codePointAt(int index){}

 作用:返回指定索引处的字符(Unicode 代码点)。索引引用 char 值(Unicode 代码单元),其范围从 0到 length() - 1

 参数:index - char 值的索引

返回值:index 处字符的代码点值

例:

1    String string= "abcdef";
2    int i=0;
3    int index2=-1;
4    while (i<string.length()) {
5          index2= string.codePointAt(i) ;
6          System.out.println("index2="+index2);
7      i++;
8    }

run:

index2=97
index2=98
index2=99
index2=100
index2=101
index2=102

即往方法codePointAt(int index)传入字符的index,返回字符串中对应字符的代码点。

例:

1 int ch= "你好吗".codePointAt(1);
2 System.out.println("ch="+ch);

run:ch=22909

回到文中最上面的代码,对应ascII码表,代码点46对应英文句点"."


public boolean pagging(Media media,int page) {
    return  (media.getFullName().toLowerCase().codePointAt(0)-97)/3 == page?true:false;
}
进行abc,def,ghi类似的分页

你的能量超乎你想象_________
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

String类的codePointAt()方法 的相关文章

  • Java IO流 缓冲流-BufferedInputStream、BufferedOutputStream

    首先抛出一个问题 有了InputStream为什么还要有BufferedInputStream BufferedInputStream和BufferedOutputStream这两个类分别是FilterInputStream和FilterO
  • mysql如何一秒插入10万条数据

    当我们需要批量插入或者更新记录时 可以采用Java的批量更新机制 该机制允许多条语句甚至一次性提交给数据库处理 通常情况下比一句一提交处理更有效率 jdbc处理批量提交有三个方法 需要注意的是 这三种方法都要和PreparedStateme
  • 动力节点老杜java基础视频笔记第一章 学前准备 (1)

    课堂截图 为什么使用截图工具 在听课的过程中 有的时候老师操作的比较快 通过截图的方式将老师的操作保存下来 以便后期的操作 另外截图之后的图片也可以用于笔记的记录 在笔记当中最好采用图文并茂的方式 这样更加利于知识的回顾 使用哪个截图工具
  • 接口如何实现多态

    抽象类是用来继承的 不能被实例化 抽象类里可以有成员变量 接口中没有 1 抽象类里的抽象方法 只有在子类实现了才能使用 2 抽象类里的普通方法 可被子类调用 3 接口里的方法 都被默认修饰为public abstract类型 4 接口里的变
  • FullGC问题分析

    一 常见的FullGC场景分析 频繁的大对象 大对象直接被分配到老年代 系统高负载运行 请求量很大 jvm来不及将对象转移到老年代 直接到老年代分配对象 系统内存泄漏 导致对象长时间在老年代 得不到释放 二 产生FullGC的原因 Syst
  • java中的file.encoding属性到底由什么决定?

    首先先上一段代码 public class PropertiesTest public static void main String args System out println file encoding System getProp
  • Java Json 数据下划线与驼峰格式进行相互转换

    概述 今天遇见一个需求 需要对json数据进行下划线与驼峰格式之间进行转换 在Fastjson Jackson Gson都提供了转换的方式 在这里进行一下列举 User类 public class User private String n
  • 【java基础】 方法,实参和形参,方法的重载,签名,递归

    目录 方法概念及使用 实参和形参的关系 重要 方法的重载 方法签名 简单了解 递归 简单介绍 方法概念及使用 方法就是一个代码片段 类似于 C 语言中的 函数 作用 是能够模块化的组织代码 当代码规模比较复杂的时候 做到代码被重复使用 一份
  • java动态加载jar包,并运行其中的类和方法

    flink 相关 https www toutiao com article 6883793897495986691 动态加载jar包 在实际开发中经常会需要用到 尤其涉及平台和业务的关系的时候 业务逻辑部分可以独立出去交给业务方管理 业务
  • 《编写高质量代码:改善Java程序的151个建议》读书笔记

    编写高质量代码 改善Java程序的151个建议 秦小波 67个笔记 前言 本书附带有大量的源码 下载地址见华章网站www hzbook com 建议11 养成良好习惯 显式声明UID SerialVersionUID 也叫做流标识符 Str
  • java 泛型 作用与定义

    1 泛型方法的定义和使用 public static void main String args throws ClassNotFoundException String str get 哈士奇 world System out print
  • springboot跳转页面

    SpringBoot里面只有src目录 在src main resources下面有两个文件夹 static 和 templates springboot默认static中放静态页面 而templates中放动态页面 themleaf和fr
  • Java学习13:面向对象-多态(Polymorphism)内存分析图解

    1 概述 多态是Java面向对象三大特征之一 多态 Polymorphism 顾名思义 即对象具有多种形态 具体而言 是编译时类型 运行时类型 编译时类型 由声明时的类型决定 一般是父类 运行时类型 由实际对应的对象类型决定 具体是哪个子类
  • AQS底层原理

    1 AQS能干嘛 是什么 能干嘛 加锁就会有阻塞 有阻塞就需要排队 实现排队必然需要有某种形式的队列来进行管理 是什么 废话 抽象的队列同步器 翻译一下 AQS是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石 通过内置的
  • Java 泛型 T,E,K,V,?

    泛型带来的好处 在没有泛型的情况的下 通过对类型 Object 的引用来实现参数的 任意化 任意化 带来的缺点是要做显式的强制类型转换 而这种转换是要求开发者对实际参数类型可以预知的情况下进行的 对于强制类型转换错误的情况 编译器可能不提示
  • JAVA--GUI(2)--布局

    布局 为了更好适应不同平台而引入的概念 Java的布局管理器是一个实现了LayoutManager接口的实例 用户无法设置setLocation 这些方法 如果想自己设置则需要取消布局管理器 采用布局管理器 边界布局 顺序布局 网格布局 卡
  • IDEA 编写JDBC 第一个示例

    知心惟有雕梁燕 自来相伴 东风不管琵琶怨 落花吹遍 一 新建一个Module 二 在此Module下新建一个包 在包再建一个包 命名为lib 三 导入mysql驱动 四 将mysql驱动添加到项目的库里 五 代码实现 package Con
  • 如何做单元测试

    如何做单元测试 一 定义 二 为什么要做单元测试 三 单元测试用例 四 阿里单元测试规约 五 测试框架的使用 Junit 下面以Junit4 为例来介绍 1 1 什么是Junit 1 2 为何使用Junit 1 3 Junit的快速入门 导
  • mysql无法连接问题及其环境变量配置

    问题 Can t connect to MySQL server on localhost 3306 10061 方案一 不推荐 第一 在环境变量 系统变量的path中添加mysql的bin目录 我的是D mysql mysql 8 0 2
  • 黑豹程序员-统一身份认证接口

    术语和定义 1 IAM Identity Access Manager 统一身份认证系统 2 IDM Identity Manager 身份管理 3 SSO Single Sign On 单点登录 4 AD Active Directory

随机推荐

  • ES6中Iterator的使用

    Iterator概念 Iterator是一种接口 为各种不同的数据结构提供统一的访问机制 任何数据结构只要部署Iterator接口 就可以完成遍历操作 即一次处理该数据结构的所以成员 手写Iterator接口 手写iterator接口 fu
  • 数据库管理系统的安装与心得

    对于数据库这个概念我高中就有过接触 当时我们学的是什么是数据库 数据库管理系统 数据库系统 在数据库系统这门课刚开始上是 我本以为它会比其他功课容易接受 但是上了几节课之后 我发现这门课还是很难 因此 我就想到了把应用和课堂知识结合起来 可
  • Java 学习(一)Java语言基础

    Java 语言基础 一 前言 一 注释和标识符 1 注释 2 字符集 3 标识符 4 关键字 略 二 数据类型 1 基本类型 2 引用类型 三 常量和变量 1 常量 2 变量 四 操作符 1 赋值运算符 2 算术运算符 3 关系运算符 4
  • Uniapp 获取屏幕、元素的高度宽度

    在遇到困难时先找官方文档方案 其实一些常用的方法官方都有对应的解决方案的 uni getSystemInfo OBJECT 获取系统信息 screenWidth 屏幕宽度 screenHeight 屏幕高度 windowWidth 可使用窗
  • Oracle提示ora-01031:insufficient privileges解决方案

    自己也百度了一下 看到好多都是查找修改本地文件的 本人表示没有去这么做 本人解决方法 右键 我的电脑 管理 计算机管理 系统工具 本地用户和组 组 右边找到 ora dba 右键之 属性 添加 高级 立即查 找 找到你电脑的名称那个 确定
  • KMS服务器

    1 一键安装包 本脚本安装完成后 会将 KMS 服务加入开机自启动 wget no check certificate https github com teddysun across raw master kms sh chmod x k
  • js赋值运算(加、减、乘、除、余)

    赋值运算 赋值符 左边是一个变量 右边是一个值 赋值就是将右边的值给了左边的变量 加法 var a 10 a 1 相当于a a 1 console log a a 11 10加3的值 减法 var a 10 a 1 相当于a a 1 con
  • pytorch_工作流基础

    what were covering 1 data prepare and load 2 build model 3 fitting the model to data training 4 making predictions and e
  • Install packages failed: Installing packages: error occurred. ------简单的问题常常会被忽略...

    用 pip install 安装了wxpy这个库 但是使用的时候却报错 ImportError No module named wxpy 我先用 pip list 查看了一下 发现这个库是已经存在的 但是运行就老是报错 后来查了资料才知道
  • python 多线程,多进程问题

    近期在做一个计算很费时的项目 就想着通过多线程的方式进行加速 发现python的多线程无法实现加速 python中的多进程VS多线程 首先需要明白多线程和多进程的差异 简单来说一个进程下可以启多个线程 那么在python中 Python代码
  • 2岁宝宝吃饭问题网络调研

    家有男宝到了2岁多一点 不肯吃饭 肿么办 1 案例集锦 甚至开始厌食 见到食物会推开 最严重的一次 我喂他吃饭 他直接用手生气的打掉我的碗 把菜叶子 用小手一片片的捏掉 丢桌子上 地上 我气的呀 越养越瘦 越来越厌食 后来去医院 也没查到什
  • 测试人员的KPI考核指标

    关于测试人员KPI的考核指标 简书 线上bug漏测率 测试延期率 新技术手段输出 沟通能力 学习能力 文档沉淀能力 帮助组内同事成长 问题跟进能力 个人成长 老徐 线上bug漏测率 任务完成率 个人成长 https t zsxq com 0
  • CSS样式的引用方式

    想只用CSS修饰网页 就需要在HTML文档中引入CSS CSS提供了4种引用方式 分别是行内式 内嵌式 外链式和导入式 1 行内式 行内式也被称为内联式 可以通过style属性设置标签的样式 行内式基本语法格式如下 lt 标签名 style
  • Bluetooth 蓝牙介绍(七):低功耗蓝牙HCI规范

    HOST CONTROLLER INTERFACE HCI 功能规范 如果Controller支持 table 表中列出的任何传统广播命令或事件 并且还支持 LE 功能 扩展广播 则它应支持表中同一行中相应的扩展广播命令或事件 如果自上次上
  • css 上下左右居中(9种)

    Technique Browser Support Responsive Overflow resize both Variable Height Major Caveats Absolute Centering Modern IE8 Ye
  • golang测试技术

    golang测试技术 一 基础测试技术 1 测试Go代码 Go语言内置测试框架 内置的测试框架通过testing包以及go test命令来提供测试功能 下面是一个完整的测试strings Index函数的完整测试文件 strings tes
  • 2018年LeetCode高频算法面试题刷题笔记——求众数(开始之前)

    1 解答之前的碎碎念 又是一道没有思路的题 but我现在觉得 学习新知识过程都是从模仿开始的 比如先看别人的代码是怎么优雅的解决一个问题的 然后探究为什么要这么写 然后慢慢学着也这么做 最后知识就变成自己的啦 哈哈哈 给自己灌了一大壶鸡汤呢
  • Ubuntu安装Mysql启用远程连接

    1 用apt get安装mysql 更新一下apt 仓库 sudo apt get update 安装mysql service sudo apt get install mysql server y 也可以指定版本 可选 sudo apt
  • 详解在spring boot中配置多个DispatcherServlet

    spring boot为我们自动配置了一个开箱即用的DispatcherServlet 映射路径为 但是如果项目中有多个服务 为了对不同服务进行不同的配置管理 需要对不同服务设置不同的上下文 比如开启一个DispatcherServlet专
  • String类的codePointAt()方法

    工作中遇到一段代码 1 private static String getClassNameWithoutPackage Class cl 2 String className cl getName 3 int pos className