`
toreking
  • 浏览: 36681 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java String类

    博客分类:
  • java
阅读更多

Java String

【String知识点】
 1>可以通过byte[],int[],char[],String,StringBuffer,StringBuilder 构造一个String
 2>常用的方法:
   char charAt(int index) 返回指定索引处的 char 值。
   int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。
   int codePointBefore(int index)  返回指定索引之前的字符(Unicode 代码点)。
  
   int compareTo(String anotherString)  按字典顺序比较两个字符串。
   int compareToIgnoreCase(String str)  按字典顺序比较两个字符串,不考虑大小写。
  
   boolean contains(CharSequence s)  当且仅当此字符串包含指定的 char 值序列时,返回 true。
   boolean contentEquals(CharSequence cs) 将此字符串与指定的 CharSequence 比较。
   boolean contentEquals(StringBuffer sb) 将此字符串与指定的 StringBuffer 比较。
  
   static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的 String。
   static String copyValueOf(char[] data, int offset, int count) 返回指定数组中表示该字符序列的 String。
  
   boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。
   boolean equals(Object anObject) 将此字符串与指定的对象比较。
   boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写。
   
   static String format(Locale l, String format, Object... args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
   static String format(String format, Object... args) 使用指定的格式字符串和参数返回一个格式化字符串。
  
   byte[] getBytes() 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
   byte[] getBytes(Charset charset) 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
   void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 方法,该方法使用平台的默认字符集。
   byte[] getBytes(String charsetName) 使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
  
   void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此字符串复制到目标字符数组。
  
   int hashCode() 返回此字符串的哈希码。
  
   int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
   int indexOf(int ch, int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
   int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。
   int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
  
   String intern() 返回字符串对象的规范化表示形式。
  
   boolean isEmpty() 当且仅当 length() 为 0 时返回 true。
  
   int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。
   int lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
   int lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。
   int lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
  
   int length() 返回此字符串的长度。
  
   boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式。
  
   int offsetByCodePoints(int index, int codePointOffset) 返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。
  
   boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。
   boolean regionMatches(int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。
  
   String replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
   String replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
   String replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
   String replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
  
   String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。
   String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。
  
   boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
   boolean startsWith(String prefix, int toffset) 测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
  
   CharSequence subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是此序列的一个子序列。
  
   String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。
   String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。
  
   char[] toCharArray() 将此字符串转换为一个新的字符数组。
   String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
   String toLowerCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。
   String toString() 返回此对象本身(它已经是一个字符串!)。
   String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
   String toUpperCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。
  
   String trim() 返回字符串的副本,忽略前导空白和尾部空白。
  
   static String valueOf(boolean b)  返回 boolean 参数的字符串表示形式。
   static String valueOf(char c)  返回 char 参数的字符串表示形式。
   static String valueOf(char[] data)  返回 char 数组参数的字符串表示形式。
   static String valueOf(char[] data, int offset, int count) 返回 char 数组参数的特定子数组的字符串表示形式。
   static String valueOf(double d)  返回 double 参数的字符串表示形式。
   static String valueOf(float f)  返回 float 参数的字符串表示形式。
   static String valueOf(int i)  返回 int 参数的字符串表示形式。
   static String valueOf(long l)  返回 long 参数的字符串表示形式。
   static String valueOf(Object obj)  返回 Object 参数的字符串表示形式。
  
1.对象问题
String x="a"+4+"c"
编译时等效于
String x=new StringBuffer().append("a").append(4).append("c").toString();
【测试题】
 java中,String s = "a" + "b" + "c" + "d" + "e"; 问此语句共创建了几个对象
  上面已经有5个,另外:
   "a"+"b"=ab
   "ab"+"c"=abc
   "abc"+"d"=abcd
   "abcd"+"e"=abcde
     
 虽然s只是指向最后一个 但是实际上产生了9个对象

2.比较问题
*字符串常量是一种特殊的匿名对象:String s1="hello";String s2="hello",则s1==s2;因为他们指向同一个匿名对象。
如果String s1=new String("hello");String s2=new String("hello"),则s1!=s2。

【测试题】
  String A = "a";
  String B = "b";
  String C = "a"+"b";
  String AB = A+B;
  String ab = "ab";
  求:C == A+B(F);AB == A+B(F);ab == AB(F);C == ab(T);C == "a"+"b"(T);"ab" == "a"+"b"(T);
  
3.String 字符串去掉重复字符
 String oragStr = "as10ske30yak";要求返回的结果:as10ke3y;
 
 思路:大家都会想到,利用toCharArray()将String 转换成char[]数组,接下来做的是思路很多。
 1.借组set(hashset)不可重复性或map(hashmap<key,value>)的key不可重复性,最后的结果肯定可以实现去重复,但因为各个类的特性,而导致最后的顺序发生改变。
 2.因为1,所以我们还是采用原始方法:再建一个数组,把没有重复的依顺序放入这个数组中,最后toString()即可。

 

public static String quChong(String s)
	{
		if(s.length() > 1)
		{
			char[] arr = s.toCharArray();
			char[] temp = new char[arr.length];
			temp[0] = arr[0];//将第一个元素给第一位
			int size = 1;//作为标记
			
			for(int i = 1; i < arr.length; i++)
			{
				if(compare(temp, size, arr[i]))
				{
					temp[size] = arr[i]; 
					size ++;
				}
			}
			return new String(temp, 0, size);
		}
		else 
		{
			return s;
		}
	}
	 
	public static boolean compare(char[] ar, int size, char ch)
	{
		boolean f = true;
		
		for(int i = 0; i < size; i++)
		{
			if(ch == ar[i])
			{
				f = false;
			}
		}
		return f;
	}
	
	public static void main(String[] args) {
		String str = "14sde1seoeiqlsine";//14sdeoiqln
		System.out.println(quChong(str));
	}

 

分享到:
评论

相关推荐

    5.javaString类.zip

    5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5.javaString类.zip5....

    java String类常用方法练习小结

    【Java String类常用方法详解与实战】 在Java编程语言中,`String`类是一个非常重要的类,它代表不可变的字符序列。所有的字符串字面值(例如:"abc")都是`String`类的实例。本篇文章将深入探讨`String`类的一些...

    java基础String类选择题练习题

    根据提供的信息,我们可以总结出这份Java基础String类选择题练习题主要聚焦于String及StringBuffer类的使用。尽管具体的题目内容未给出,但从所展示的信息中可以推断出该练习题集涵盖了以下几方面的知识点: ### 一...

    面试题:Java String类常见操作和用法

    Java String类是Java编程语言中的核心类,它用于表示和操作字符串。由于字符串在编程中极为常见,理解和熟练掌握String类的用法至关重要。在面试中,Java String类的操作和用法经常成为考察的重点。 首先,Java ...

    javastring类的源码

    java jdk中string类的源码 ,了解string类的书写,定义和声明

    java String类的实现

    Java中的`String`类是编程中最常用的类之一,它在Java的`java.lang`包中,无需显式导入即可使用。`String`类代表不可变的字符序列,这意味着一旦创建了`String`对象,它的值就不能改变。这个特性使得`String`在处理...

    Java String类常用的方法.docx

    Java中的String类是编程中最常用的类之一,它代表不可变的字符序列。在这个文档中,我们探讨了几个Java String类的常用方法,这些方法对于处理和操作字符串非常关键。 1. `length()`方法:返回字符串的长度。例如,...

    Java String类为什么是不可变的_动力节点Java学院整理

    Java String类为什么是不可变的_动力节点Java学院整理,动力节点口口相传的Java黄埔军校

    Educoder题目:Java面向对象 - String类答案解析.md

    Educoder题目:Java面向对象 - String类答案解析

    java中的String类常用方法解析(一)

    在Java编程语言中,`String`类是使用最频繁的类之一,它代表不可变的字符序列。本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符...

    Java String 类.pdf

    Java中的String类是用于表示和操作字符串的基本类,它在Java编程中扮演着至关重要的角色。String类的对象是不可变的,这意味着一旦创建了String对象,就不能改变其内容。这是因为字符串在Java中被视为常量,存储在...

    java string类的实现

    用于课程设计String类的实现,上传了String类设计的发布软件,审核通过后再发布程序源代码

    java自制string类例程

    在Java编程语言中,String类是一个非常基础且重要的部分,它是不可变的,也就是说一旦创建了一个String对象,就不能更改它的内容。然而,许多初学者在学习过程中可能会尝试自己创建一个类似的字符串类,以便更好地...

    Java String类正则操作示例

    Java String类正则操作示例 Java String类正则操作示例主要介绍了Java String类正则操作,结合实例形式分析了java针对数字的正则验证、过滤及邮箱正则验证相关操作技巧。下面将详细说明标题和描述中所说的知识点。 ...

    深入解析 Java 中的 String 类:特性与使用

    Java 中的 String 类是 Java 编程语言中最基本的类之一,用于表示字符串。它在 java.lang 包中,是所有 Java 程序的默认一部分。String 类是不可变的,这意味着一旦创建了 String 对象,就不能更改它所包含的字符...

    java String类功能、原理与应用案例【统计、判断、转换等】

    在Java编程语言中,String类是用于处理文本字符串的核心类,它在`java.lang`包中,无需显式导入即可使用。String类的功能强大且用途广泛,涉及到许多基础和高级的字符串操作。以下是对Java String类功能、原理及应用...

    Java程序设计基础:String类的常用方法(一.pptx

    String类的常用方法(一) 目录 课程导入 掌握获取字符串长度的方法 掌握字符串连接、截取子串的方法 方法定义:public int length() 获取字符串的长度 例如: String message = “Welcome to Java”; System.out....

    Java的String类的方法介绍

    Java的String类是Java语言中最基础且常用的类之一,它代表不可变的字符序列,用于处理文本数据。在Java中,String对象一旦被创建,其内容就不能改变。本篇文章将详细介绍Java String类的一些主要构造函数和常用方法...

    java String 使用详解

    Java String 使用详解是 Java 编程语言中最基础也是最重要的一部分,对于 Java 程序员来说,了解 String 类的使用方法是必不可少的。本文将详细介绍 Java String 的使用方法,包括 String 对象的初始化、字符串的...

Global site tag (gtag.js) - Google Analytics