import sun.text.normalizer.UTF16;
import java.io.UnsupportedEncodingException;
/**
* Created by Kodulf on 2017/4/4.
*/
public class StringTest {
int num = 88;
/**
* 影城流行不同不变,或判换换(获取,判断,转换(最重要),替换),尝滋味包拯(等)开涮复羯鸡,忍受兔兔吃素, 开包吉步
* 影城流行不同不变。影城(y引号,常量c池),流行(new 新的)不同(equals 和== 不一样)不变(字符串常量,不能够改变)
* 获取:长度,字符,位置,(尝滋味)
* 判断:包拯(等),开刷(开始结束)
* 转换:字符数组,字节数组,基本数据类型, 复(一个是字符数组的意思,还有复也有两种的意思,静态方法和构造方法)羯(字节数组)鸡
* 替换:忍受兔兔吃素,r replace subString,toUpCase toLowCase, trim(), compareTo,split
* 从某个位置开始查找,注意这里的fromindex 是包含这个index的
* 开始的是包含的,结束的是不包含的,开包吉步
*/
public static void main(String[] args){
stringTest();
stringTestGet();
testStringPanDun();
try {
testStringChange();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
testStringReplace();
testBianjie();
}
/**
*
* 开始的是包含的,结束的是不包含的,开包吉步
* 测试边界,一定要注意的是indexOf如果是没有那么返回的是-1,和io流里面是一样的
* indexOf(fromIndex) fromIndex是包含的
* new String 的byte 里面也是fromIndex 是包含的,后面的是长度, copyValueOf(char[],fromIndex,endIndex)
* subString(fromIndex,endIndex)fromIndex 是包含的,endIndex 是不包含的。
*/
public static void testBianjie(){
String aa = "01234567789";
System.out.println(aa.indexOf('2',2));
byte[] bytes = {'0','1','2','3','4','5','6','7','8','9'};
System.out.println(new String(bytes,2,2));
System.out.println(aa.substring(2,3));
}
/**
* 获取:长度,字符,位置,(尝滋味)
*/
public static void stringTestGet(){
String aa = "hello hell hee hahah he ha";
System.out.println(aa.length());
System.out.println(aa.charAt(1));
System.out.println(aa.indexOf('a'));
System.out.println(aa.indexOf('a',0));
System.out.println(aa.indexOf("he"));
System.out.println(aa.indexOf("he",0));
System.out.println(checkEmail("helloworld@500mi.com")?"验证成功":"验证失败");
System.out.println(checkUserNameAndPassword("haha","password")?"账号密码正确":"账号密码错误");
}
/**
* 包拯(等),开涮
*/
public static void testStringPanDun(){
System.out.println("hello.world".contains("wor"));
System.out.println("hello.world".equals("hello.World"));
System.out.println("hello.world".equalsIgnoreCase("Hello.World"));
System.out.println("hello.world".startsWith("he"));
System.out.println("hello.world".endsWith("ld"));
}
/**
* 复羯鸡
* 字符数组,字节数组,基本数据类型, 复(一个是字符数组的意思,还有复也有两种的意思,静态方法和构造方法)羯(字节数组)鸡
* 字符数组,new String(chars),copyValueof
* 字节数组,new String(bytes),new String(bytes,offset,length);
* 鸡,基本数据类型,valueOf()
*/
public static void testStringChange() throws UnsupportedEncodingException {
char[] chars = {'a','b','c'};
System.out.println(new String(chars));
System.out.println(new String(chars,0,2));
System.out.println(String.copyValueOf(chars));
System.out.println(String.copyValueOf(chars,0,2));
String aa = "abcdefg";
char[] chars1 = aa.toCharArray();
for (int i = 0; i < chars1.length; i++) {
System.out.println(chars1[i]);
}
byte[] bytes = "hijklmn".getBytes();
System.out.println(new String(bytes));
System.out.println(new String(bytes,0,5));
System.out.println(new String(bytes, "utf-8"));
String.valueOf('c');
String.valueOf((short)1);
}
/**
* 测试替换的,忍受兔兔吃素
* 忍受兔兔吃素,r replace subString,toUpCase toLowCase, trim(), compareTo,split
*/
public static void testStringReplace(){
String aa = "0123456789aa bbcc ";
String replace = aa.replace("aa", "bb");
System.out.println("替换后的"+replace);
//子串
String substring = aa.substring(3);
System.out.println("子串:"+substring);
//子串计算的时候开始是[s,e)开始的是计算在内的
String substring1 = aa.substring(3, 4);
System.out.println("子串:"+substring1);
//忍受兔兔吃素r replace subString,toUpCase toLowCase, trim(), compareTo,split
String s = aa.toLowerCase();
System.out.println(s);
String s1 = aa.toUpperCase();
System.out.println(s1);
String trim = aa.trim();
System.out.println(trim);
int abcdef = aa.compareTo("0123456789");
System.out.println(abcdef);
}
public static boolean checkEmail(String email){
boolean checkEmailResult = false;
if(StringUtil.isNotEmpty(email)) {
if (email.indexOf('@') < email.indexOf('.')) {
checkEmailResult = true;
}
}
return checkEmailResult;
}
public static boolean checkUserNameAndPassword(String userName,String password){
boolean ret = false;
if(StringUtil.isNotEmpty(userName)&&StringUtil.isNotEmpty(password)){
if(userName.equals("haha")&&password.equals("password"))
ret = true;
}
return ret;
}
/**
* String的测试:
* 影城流行不同不变。影城(y引号,常量c池),流行(new 新的)不同(equals 和== 不一样)不变(字符串常量,不能够改变)
* 引号,的如果在常量池里面有了,那么就会调用常量池里面的
* new 新,流行,new出来的都是新的
* 不同,equals 方法有重写,== 比较的是地址
* String 字符串是常量,他们的只在创建以后就不能够修改了,例如下面的"hello world",就是不能修改的,如果说修改,其实是将修改后的新的字符串常量的地址给aa了
*/
public static void stringTest(){
String aa ="hello world";
String bb = "hello world";
System.out.println(aa==bb);
System.out.println(aa.equals(bb));
String cc = new String("hello world");
System.out.println(aa==cc);
}
}
class StringUtil{
public static boolean isNotEmpty(String string){
boolean ret = false;
if(string!=null&&string.length()>0){
ret = true;
}
return ret;
}
public static boolean isEmpty(String s){
return !isNotEmpty(s);
}
}
相关推荐
ios生成海报使用dom-to-image中toPng报错isTrusted:true
主要是ios中safari浏览器解析错误,引起的报错,主要引起原因toPng会调用toSvg,toSvg直接将html标签内容通过svg中foreignObject标签直接包裹,然后转base64, 通过data:image/svg+xml;解决办法:二次生成(调用两次),判断ios or 安卓,生成第一次生成,不用参数,例如:scale: 3,在第二次生成再进行清晰度操作,避免多次生成,引起性能消耗。以上种种很多案例,使用canvase进行转换的,标签丢失,直接toPng版本的,兼容性问题。
数据类型的面试题讲解18
import sun.text.resources.cldr.ig.FormatData_ig; public class demo03 { public static void main(String[] args) { //整数拓展: 进制 二进制0b开头 十进制 八进制0开头 十六进制0x开头 int i = 10; int i2 = 1; ...
QNX Neutrino 进程间通信编程之Message-passing/Pulse
Interprocess Communication(IPC,进程间通信)在QNX Neutrino从一个嵌入式实时系统向一个全面的POSIX系统转变起着至关重要的作用。IPC是将在内核中提供各种服务的进程内聚在一起的粘合剂。在QNX中,消息传递是IPC的主要形式,也提供了其他的形式,除非有特殊的说明,否则这些形式也都是基于本地消息传递而实现的。本篇幅主要讲解Message-passing和Pulse。
java normalizer是什么,java - java.lang.NoClassDefFoundError:无法初始化类sun.text.normalizer.NormalizerImpl - ...
在使用oracle jdk 1.8.0_221(64Bit)运行的wildfly 13服务器上出现以下错误。 NormalizerImpl是rt.jar中的一个类,应始终可用。 因此,这不是普通的ClassNotFound。> 2019-07-25 13:56:38,914 ERROR [io.undertow.request] (default task-20)> UT00502...
三分钟解决RKNN-Toolkit2安装失败:从模块报错到成功验证的完整记录
本文详细记录了RKNN-Toolkit2安装失败的解决方案,从环境配置到模型转换实战,特别针对常见的'No module named 'rknn''报错提供了完整修复指南。通过YOLOv8模型转换示例,展示了从ONNX到RKNN格式的完整流程,并分享了在RK3588芯片上的部署优化技巧。
在 Mac OS 上编译 WebRTC 教程
在 Mac OS 上编译 WebRTC 教程
text文本复制后,java程序包不存在,java找不到符号
解决方式:1.Ctrol+E进入maven的面板2.找到报错项目下的lifecycle --执行clean --执行compile3.就好了
一文吃透 BMS:动力电池与储能共用的电池管控全架构详解
BMS作为电池系统的核心控制器,其技术深度和系统复杂性不容小觑。动力电池与储能系统虽然应用场景不同,但在核心架构上共享大量基础技术。成功的BMS设计需要在精度、可靠性、成本、功耗之间找到最佳平衡点。未来,随着电池技术的进步和智能化需求的提升,BMS将向着更高集成度、更强智能化、更优经济性的方向发展。无论是汽车工程师还是储能系统设计师,深入理解BMS的全栈架构,掌握其核心技术原理,都将是应对未来能源存储挑战的关键能力。核心要点回顾BMS采用分层分布式架构,硬件是基础,算法是灵魂。
C++自学string个人工具库记录
string个人留存,优势为比字符串更加自由且操作多,有某更简单方便的语言py那味儿
【SOFA】SOFA框架+Win10+VS2019 配置
SOFA (Simulation Open Framework Architecture)官网 SOFA 是一个开源的仿真框架,用于实时的物理仿真,而且主要针对医学上的仿真。主要用于研究人员开发新的算法,也可以作为一个有效的快速成型工具或是物理引擎。 官网中给出的配置方法写的很清晰,有着各个库或者软件的版本要求,仔细看按版本要求来 官网配置地址 官网给了两种方 1.通过脚本自动配置 2. 自己下载相关库通过CMake进行生成 第一种 没使用,不知道是否好使,因为如果其中有下载的东西,国内不一定能成功,大家可
【在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-硬件连接-开机自启动can-初步调试】
近期开始学习英伟达的工控板,作为新手还是有很多不同懂得地方,但是一部分它用的linux系统,有点像玩树莓派,通过自己一段时间学习can调试,终于可以简单通信了。开始的时候,自己也是什么都不是很懂,从新手一点点摸索过来,现在使用工控机,简单can通信也已经没有问题了,算是有些进步吧。每一步走的都很艰辛,需要反复验证,才能准去无误,开始以为发送没有问题就没事了,没想到发送可以却接受不行,每一步都要反复确认啊,这个问题会持续关注下吧。
String间比较,个人记录
String 间比较, == 比较的是地址, .equals 比较的是值。 如 String s1 = "aaa"; String s2 = "aaa"; 此时 s1 == s2 返回值为true,因为指向的是同一个对象,地址值相同,所以==成立。 如 String s1 = new String("aaa"); String s2 = new String("aaa");
Qt —— 百度地图 - 3、Qt调用高德在线地图功能示例(附源码)
Qt - 地图相关 —— 3、Qt调用高德在线地图功能示例(附源码)
String为什么是final的(仅为记录个人成长)
参考了网上其他几个大师的文章,自己总结了一下 final: 首先知道final是什么,作用又是什么。 final是用来修饰类,方法,变量的。 作用就词如其名了,最后的,那就意味着是不可更改的。 String为什么是final的? String用来创建字符串的,平常的使用中String也是非常非常多的,java的编写者应该在创建时或者改进时,把String写死了。写死的原因2个, 1:为了常量池,每...
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
个人记录-LeetCode 87. Scramble String
LeetCode
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
个人记录-LeetCode 97. Interleaving String
LeetCode
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
String,StringBuffer,StringBuilder的区别(仅为记录个人成长)
String,StringBuffer,StringBuilder的区别 String String s = "abc"; String x = "de"; String z = s+x;//此处的z在java里面存放的地址上是新new出来的空间,地址s+地址x=地址z,这段代码保函了3个地址,而不是2个 ··String被创建后是不能被改变的,只是又为新的String变量开辟了一个新地址用来存...
string笔记 没有整理,个人记录,不放首页
1 <?php 2 header("Content-Type: text/html; charset=utf-8"); 3 ?> 4 <head> 5 style 6 { 7 p{ font-size:16px; font-weight:bold; font-family:'微软雅黑', console; } 8 } ...
关于String.intern()和String在常量池和堆的问题(个人记录)
https://blog.csdn.net/qq_34115899/article/details/86583262
个人记录-LeetCode 8.String to Integer (atoi)
LeetCode
java 个人代码 小册子记录遇到的坑
java 个人代码 小册子记录遇到的坑 优秀代码记录: 代码部分 解决 ToString 的问题 @ToString(exclude = { "mobileHCode", "electronicCode", "teleCode", "cityName", "provTelecode","proviceCode" }) 利用注解 希望toString 中不展示的字段 @ToString(exclude = {"字段名称","字段名称"}) 注意细节 public QueryMyP
Http接口请求调用以及String类型的xml返回解析
Http接口请求调用、xml返回解析Http接口请求调用String类型的xml返回解析方法一String类型的xml返回解析方法二 Http接口请求调用 最近接到一个网络接口的任务,小白的我受宠若惊,于是查了各种方法,但是都要通过拼接数据、拼接xml。看的难受,决定记录一下这个不错的方法,并进行了简单的封装: /** * 通用的http接口,获取String类型xml返回值 * @aut...
Anaconda报错“Malformed version string ‘~‘: invalid character(s)”与“Invalid version spec: =2.7”,个人向解决记录
原本使用镜像的版本。报错后看到换源和换其他命令的办法,都没能解决个人问题……上最终手段——重装了官网版本。
python 报错:not all arguments converted during string formatting
问题: python 报错:not all arguments converted during string formatting 原因:只有一个数值,传入两个参数。 logger.info(name,“登录成功”) 修改为: logger.info(“登录成功”) 本博客仅仅记录我自己遇见过的bug,仅仅用于个人备查。 如果不是很明确,请见谅。 如果你也遇见相同问题,请留言, 我会详细解答。 ...
个人面试过往
个人面试过往 1.***长***科技有限公司 自我介绍 是否了解克隆 说一说常用的String方法 BigDecimal了解吗? 2.有*科技 自我介绍 了解mq吗? 了解redis缓存吗? 了解redis哨兵机制吗? 会sql调优吗? 知道springcloud中的五大组件吗? 了解hashmap扩容机制吗? 了解hibernate吗? 了解struct2吗? 知道Eureka吗?说说Nacos与Eureka区别? 了解go语言吗? 了解分库分表吗? 知道多线程吧,有哪几种方式创建多线程。 有什么想问的
快马AI助力:用string.format()打造智能字符串格式化工具
通过这个小项目,我深刻体会到方法的强大之处。它不仅语法简洁,而且功能灵活,能够满足多种字符串格式化的需求。结合InsCode(快马)平台的智能辅助功能,开发效率更是提升了不少。如果你也有类似的字符串处理需求,不妨试试这种方法,相信会有不错的体验!
2105



被折叠的 条评论
为什么被折叠?



