String类原理分析及部分方法

//String类原理分析及部分方法

//http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html
//http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html

//String类包含在java.lang包中,这个包在java的时候就自动import
//String类是唯一一个不需要new关键词来创建对象的类。

public class Test{
    public static void main(String args[]){

        //String的两种赋值方式
        //String属于类,不属于基本数据类型
        String s1="小白";//推荐方式
        String s2=new String("小黑");//该方式至少需要创建一个对象,如常量池中不存在还需要把对象保存到常量池中
        String s3="小白";

        System.out.println(s1==s3);//判断2个对象的内存地址是否相同
        System.out.println("------------");
        String s = "Hello World!";
        System.out.println(s); 

        System.out.println("------String方法------");
        System.out.println("s.length:"+s.length());
        System.out.println("s.charAt:"+s.charAt(1)); //返回字符串下标为1的字符
        System.out.println("s.substring:"+s.substring(0,5));//返回s字符串中下标0到4的子字符串
        System.out.println("s.indexOf:"+s.indexOf("Hello"));//返回子字符串"Hello"的下标

        System.out.println("s.toUpperCase:"+s.toUpperCase());//将s转换为大写字母,并返回新的字符串

        System.out.println("s.toLowerCase:"+s.toLowerCase());// 将s转换为小写,并返回新的字符串

        System.out.println("s.replace:"+s.replace("World","xiaodeng"));// 字符串替换操作

    }
}

//字符串常量池:
    //目的:下次需要时直接使用,节约内存

NPP_EXEC: "编译运行java文件"
NPP_SAVE: C:\java\Test.java
CD: C:\java
Current directory: C:\java
javac Test.java
Process started >>>
<<< Process finished. (Exit code 0)
java Test
Process started >>>
true
------------
Hello World!
------String方法------
s.length:12
s.charAt:e
s.substring:Hello
s.indexOf:0
s.toUpperCase:HELLO WORLD!
s.toLowerCase:hello world!
s.replace:Hello xiaodeng!
<<< Process finished. (Exit code 0)
================ READY ================

时间: 2024-10-07 01:49:23

String类原理分析及部分方法的相关文章

String类源代码分析

equals()方法,该方法定义在Object类当中,因此Java中的每个类都具有该方法,对于Object类的equals()方法来说,它是判断调用equals()方法的引用与传进来的引用是否一致,即这这两个引用是否指向同一个对象. public boolean equals(Object obj){     return (this == obj); } 3. String的equals()方法重写Object的equals()方法 4.对于String类的equals()方法来说,它是判断当

string类的两种实现方法及string的一些成员函数的实现

string的第一种实现方法: #include<iostream> using namespace std; class String { public:      String(char *str="")//构造函数       :_str(new char[strlen(str)+1])      {           strcpy(_str, str);      }      String(const String& str)//拷贝构造函数,实现深拷贝

String类的一些内部实现方法

今天看了一下String类的一些基本用法,以后的时间需要不断巩固自己对java基础的理解,所以写下来让自己可以不断的反复复习. 下面把这些简单的代码实现粘贴下来. import java.lang.String; public class StringDemos{ /** 答案一:1.模拟String类中trim方法 思路: 1.将字符串转换成字符数组 2.定义start 和 end 变量 3.判断收尾是否有空格,首有则start++,尾有则end--,保证start<end 4.可以用到sub

String类中自动重写compareTo( )方法对汉字的比较

在看Java从入门到精通的过程中遇到这样一道习题:定义Student类,该类不实现Comparable接口,定义一个Comparator类比较两个Student对象所在班级名称和名字,班级名相同时用名字进行排序,使用TreeSet观察排序结果. 这是我最初写的程序和运行结果截图 package javautil; import java.util.Iterator; import java.util.TreeSet; import java.util.Comparator; class MyCo

java用String类的toUpperCase()和toLowerCase()方法转字符串的大小写

1.如何判断英文字母的大小写: package com.ldw.string; import java.util.Scanner; /** * @author 作者:ldw E-mail: [email protected] * @version 创建时间:2015年4月28日 下午12:47:26 * 类说明 */ public class UppserOrLower { private static Scanner console; public static void main(Strin

深度解析java.lang.String类的equal(Object obj)方法

背景:最近在研究静态扫描的东西,遇到一个规则:"equals(Object obj)" should be overridden along with the "compareTo(T obj)" method 然后就想深度扒一扒equals和compareTo有什么区别 首先先来看下java.lang.String这个类下面的equals方法是如何实现的. public boolean equals(Object anObject) { if (this == a

jQuery视差滚动插件,(附原理分析,调用方法)

演示地址:http://www.jq22.com/jquery-info1799 jquery插件,使用验证过可用. 分析源代码后总结原理:设置background样式为fixed,判断浏览器滚动距离,当在视窗范围内时,调用$(window).scroll.并根据所设置的速度比例,进行同步滚动. 调用时,设置三个必要参数:data-speed,data-type,background样式为fixed <div data-speed="4" data-type="back

String类常用方法源码分析

环境:JDK8 主要分析String类的一些常用的方法源码. String 先看String类的定义: public final class String    implements java.io.Serializable, Comparable<String>, CharSequence 可以看到String类被final修饰,因此不能被继承.String类还实现了序列化接口Serializable.可比较的接口Comparable并指定范型为String,该接口必须要实现int comp

String类之endsWith方法---&gt;检测该字符串以xx为结尾

endsWith(XX)方法是java内置类String类的一个内置方法,我们直接拿来用即可了,下边是api说明:检测该字符串以xx为结尾,结果返回布尔值 public class Demo { public static void main(String[] args) { String Str="神雕侠侣.mp4"; System.out.println(Str.endsWith(".mp4")); } } true