`
chandler
  • 浏览: 78804 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

读String源代码笔记

阅读更多

 

1,数字可以转换成其他的进制的字符串时,能够使用Integer.toString的静态方法。

例子

 

int value = 3;
		
//2进制
String binaryValue = Integer.toString(value, 2);
		
System.out.println("二进制的 3:" + binaryValue);
		
int value16 = 31;

System.out.println("十六进制的23:" + Integer.toString(value16, 16));

 

 2 ,subString方法可能会造成内存泄露。比方说一个字符串,长度为100char的字段A。然后subString,截出一个2char的字段B。那么B的字段中的属性value还是会使一个100char的数字。

当然,这还会影响split方法,

 

 

/**
	 * 演示SubString泄漏内存
	 */
	@Test
	public void testSubStringLeak(){
		
		String subString = this.subString();
		
		/**
		 * 在这里设断点。可以看到subString中的Value还是10个Char的数组
		 * value的值
		 * [a, b, c, d, e, f, g, h, i, g, h, m, n]
		 */
		System.out.println(subString);
	}
	
	
	private String subString(){
		
		String origin = "abcdefghighmn";
		
		return origin.substring(0, 2);
		
	}
 

 

3 从代码实现上来说,String的实现是一个char的属性Value,offset是数组中的起始位置,然后count是数组中的截取。

 

4,  replacesubString等的方法,我们希望的结果是返回值,其调用方法的对象,本身并不改变。

 

String s = "java";
String result = s.replace("j", "l");
System.out.println("origin s:"+s);
System.out.println("replaced result:"+result);

 

 

5,matches(String regex)

      replaceFirst(String regex, String replacement)

      replaceAll(String regex, String replacement)

      replace(CharSequence target, CharSequence replacement)

      split(String regex, int limit)

      split(String regex)

       都是借用java.util.regex 包下面的类来完成的。

分享到:
评论

相关推荐

    《php开发典型模块大全》读书笔记和调试源代码 第四章smarty (张迅雷闪击PHP系列)

    《php开发典型模块大全》读书笔记 第四章 smarty (张迅雷闪击PHP系列) 下载地址 http://www.smarty.net/download 测试使用的是Smarty-2.6.26\libs 公用的smarty类库和相关信息,将smarty放在服务器根目录下,配置...

    java笔记-帮助文档

    而JAVA不同, 他先是把自己的源代码编译成字节码(JVM语言),然后再将JVM 编译成相应的平台语言。 public class HelloWorld{ public static void main(String[] args){ System.ont.println("我的第一个JAVA程序!!")...

    net学习笔记及其他代码应用

    (中间语言,源数据,资源,装配清单) 22.常用的调用WebService的方法有哪些? 答:1.使用WSDL.exe命令行工具。 2.使用VS.NET中的Add Web Reference菜单选项 23..net Remoting 的工作原理是什么? 答:服务器...

    基于C#的试题管理系统,出色课程设计源代码,计算机必看!

    从本项目来看我对一个项目的把控还有上升的空间 MVP 面向接口 开发环境 Win7_64+VS2015+MySQL5.7+Navicat ... //数据库连接字符串 public static string Conn = "Database=...Other/Doc 存放开发过程中的一些笔记和草稿

    APNS_Java:Apple 通知服务的 Java 源代码

    APNS_Java Apple 通知服务的 Java 源代码在 PushNotify.java 的主函数中使用适当的值编辑以下行。 String tokens = ""; // Set the device tokenString certificatesPath = ""; // Set .p12 file name String ...

    javajdk1.8源码-Java-source-reading:jdk1.8源代码分析

    缓慢更新一些个人学习java相关源码过程中的笔记,在这里你将不可避免地看到以下情况: 个别不懂/没想好的地方留空待补全 限于个人水平出现的解读错误 编辑错误 排版不统一 如发现有错,欢迎指正! 如果对你有用,...

    JAVA--达内培训笔记

    5、java源代码中的main方法的定义写法。main方法是程序的入口。 public class Hello{ //一个源文件中只能有一个公开类,而且源文件的文件名与公开类的类名完全一致 public static void main(String[] args){ //...

    DFT的matlab源代码-ucsd-DFT:ucsd-DFT

    DFT的matlab源代码MSOC-[ucsd] DFT 目录 关于该项目 该项目无需使用FFT算法即可实现1024点DFT。 **目录结构** README.md src/ dft.cpp dft.h coefficients1024.h solution/ directives.tcl testbench/ dft_...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    CppFreeMock:基于gmock,可以在不改变源代码的情况下模拟全局函数、成员函数、类静态函数

    基于gmock,可以在不更改源代码的情况下模拟全局函数、成员函数、类静态函数。 是 OneNote 上的文档和设计笔记宿主。 你好,世界: string func () { return " Non mocked. " ; } TEST (HelloWorld, First) { ...

    panzg123.github.io:blog,学习笔记

    convert_utf_2_gbk 源代码的格式转换 use_hiredis_for_windows windows平台hiredis的编译 stl_skill STL中技能掌握 combine_and_permutation全排列和组合 dp_string字符串中的动态规划问题 tsp_code旅行商问题的求解...

    php-src-comment:php源代码阅读乱注释

    Zend / zend_string.h定义了zend_string相关操作。 Zend / zend_API.h定义了扩展相关的宏和函数。 zend_parse_arg_ *系列 Zend / zend_alloc.h定义了内存分配相关的方法。 Zend / zend_hash.h定义了hash表相关的...

    BaiduNaviSDKDemo-1.1.1-Mini.zip_SO打包_地图导航_百度地图导航_百度导航_路线规划

    代码Jar包由Java源代码编译打包而成 提供在线导航、线路规划、语音播报等功能/资源包由导航所需的配置数据、基础数据 以及导航功能所需的layout、drawable、string等资源打包而成 So动态库是由native代码编译而成...

    spring-learning:我的学习Spring和Spring Boot的笔记

    此存储库包含有关对Spring Framework(v5.2.x)和Spring Boot(v2.4.x)的源代码进行分析的学习笔记。 我试图使这些注释尽可能地易于理解,因此,我主要将这些注释组织成图表,并结合一些微小的代码片段,以使说明...

    springmybatis

    而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此...

    特产交易系统源码java版-Ding-Notes:叮当笔记

    特产交易系统源码java版叮当笔记 模拟静态方法 我们可以使用PowerMock来模拟静态方法。 在本节中,我们将看到如何使用 PowerMock 模拟静态方法。 为此,我们将使用 java.util.UUID 类。 UUID 表示不可变的通用唯一...

    java开放平台源码-EasyPR:EasyPR是中文的开源车牌识别系统,其目标是成为一个简单,高效和准确的车牌识别引擎。与其他车牌识别系统相

    这意味着您可以获得完整的源代码并将其移植到opencv支持的所有平台上。 它会识别中文。 例如,车牌是Su EUK722的图片,它可以准确输出std:string类型的“ Sue EUK722”的结果。 它的识别率很高。 借助清晰的图片,...

    java6string源码-KotlinBasics:学习Kotlin语言的基础知识(JetBrains的HadiHariri课程)

    java6string源码Kotlin 基础知识 Kotlin 语言的学习基础 我在学习 JetBrains 的 Hadi Hariri 的“Kotlin 编程简介”课程时的笔记 ...适用于任何类型应用程序(服务器、Web、桌面、移动设备)的...源代码 Customer.kt 中的

    spark代码笔记02——广告top3、基站停留时间

    一、案例练习:统计广告ID ... 需求二:统计每个省份每个小时的广告ID的top3 部分数据: 时间戳 省份 城市 用户id 广告id  1562085629599 Hebei Shijiazhuang 564 1 1562085629621 Hunan Changsha 14 6 ...

    2009达内SQL学习笔记

    函数可能会带来系统的不可移植性(可移植性:所编写的代码可以在多个系统上运行)。 加入注释是一个使用函数的好习惯。 大多数SQL实现支持以下类型的函数: 文本处理, 算术运算, 日期和时间, 数值处理。 Null:...

Global site tag (gtag.js) - Google Analytics