`
chandler
  • 浏览: 81708 次
  • 性别: 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 包下面的类来完成的。

分享到:
评论

相关推荐

    Tomcat 源代码调试笔记 - 看不见的 Shell1

    【Tomcat 源代码调试笔记 - 看不见的 Shell】这篇笔记主要探讨了如何在Tomcat运行时动态插入过滤器,以及遇到的问题和解决方法。Tomcat作为一个流行的Java应用服务器,它允许开发者通过Servlet规范中的`...

    一个笔记本的源代码,C#

    标题 "一个笔记本的源代码,C#" 暗示了我们正在讨论的是一个使用 C# 编程语言编写的笔记应用程序的源代码。C# 是一种面向对象的、现代的编程语言,由微软公司开发,主要用于构建 Windows 应用程序、游戏、服务器端...

    韩顺平JSP学习笔记+源代码

    ### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...

    J2SE复习源代码

    本复习源代码涵盖了多个关键知识点,旨在帮助开发者巩固和提升在J2SE中的技能。 1. **常用类**: Java提供了丰富的内置类,如`String`、`ArrayList`、`HashMap`等。`String`类处理文本字符串,具有不可变性;`...

    韩顺平java视频教程源代码和笔记

    ### 韩顺平Java视频教程源代码与笔记解析 #### Java平台概述 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版的Java开发平台,适用于桌面应用程序开发,提供了完整的Java技术和API集合。 - **J2EE(Java...

    struts2的学习笔记+测试源代码

    本学习笔记结合测试源代码深入探讨了如何在Struts2框架下获取并使用`request`、`session`、`ServletContext`以及`response`对象,这些都是在Web开发中不可或缺的基础组件。 ### request对象 `HttpServletRequest`...

    android笔记本

    public void insertDiary(String title, String content, String date) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(COLUMN_TITLE, title); ...

    Java笔记第一个项目源代码.zip

    【Java笔记第一个项目源代码.zip】是一个包含Java编程学习初期项目的压缩包,它为初学者提供了实际操作的机会,帮助理解并应用Java编程基础。在这个项目中,你可以找到一系列的Java源代码文件,这些文件通常包括类...

    C# HTNL源代码采集器,获取两段字符串中的内容 代码清晰

    【标题】中的"C# HTML源代码采集器"指的是一个用C#编程语言编写的程序,它的主要功能是抓取并处理HTML网页的源代码。在Web开发和数据分析中,这样的工具非常常见,它们能帮助开发者从网页上提取特定信息,如文章内容...

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

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

    java笔记本

    这个源代码提供了实现此类功能的详细步骤,对于学习Java编程、GUI设计以及事件处理的开发者来说是宝贵的资源。以下将深入探讨Java笔记本源代码中的关键知识点。 1. **Java基础**:Java笔记本程序基于Java的基础语法...

    springmvc完整笔记附带说明代码.pdf

    1. 接收基本数据类型的数据,如int、double、String等。 2. 接收对象型的数据,当传递对象类型数据时,请求参数直接与对象的属性名对应。 3. 利用注解如@Repository、@Service、@Controller等来简化代码并实现依赖...

    C#笔记本程序代码实现过程

    在"记事本代码"这个压缩包中,应该包含了实现上述功能的源代码文件。通过对这些代码的学习和分析,可以了解到如何将C#的特性应用到实际项目中,提升自己的编程能力。在实际开发过程中,还应注意代码的可读性和维护性...

Global site tag (gtag.js) - Google Analytics