① String常使用的方法有哪些
这些是最常用的:
char charAt (int index) 返回index所指定的字符
String concat(String str) 将两字符串连接
boolean endsWith(String str) 测试字符串是否以str结尾
boolean equals(Object obj) 比较两对象
char[] getBytes 将字符串转换成字符数组返回
char[] getBytes(String str) 将指定的字符串转成制服数组返回
boolean startsWith(String str) 测试字符串是否以str开始
int length() 返回字符串的长度
String replace(char old ,char new) 将old用new替代
char[] toCharArray 将字符串转换成字符数组
String toLowerCase() 将字符串内的字符改写成小写
String toUpperCase() 将字符串内的字符改写成大写
String valueOf(Boolean b) 将布尔方法b的内容用字符串表示
String valueOf(char ch) 将字符ch的内容用字符串表示
String valueOf(int index) 将数字index的内容用字符串表示
String valueOf(long l) 将长整数字l的内容用字符串表示
String substring(int1,int2) 取出字符串内第int1位置到int2的字符串
=============
以下解释的十分清楚了,还有例子
1、length() 字符串的长度
例:char chars[]={'a','b'.'c'};
String s=new String(chars);
int len=s.length();
2、charAt() 截取一个字符
例:char ch;
ch="abc".charAt(1); 返回'b'
3、 getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此, 子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
例:String s="this is a demo of the getChars method.";
char buf[]=new char[20];
s.getChars(10,14,buf,0);
4、getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。
5、toCharArray()
6、equals()和equalsIgnoreCase() 比较两个字符串
7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)
8、startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束
9、equals()和==
equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
例:String s1="Hello";
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
10、compareTo()和compareToIgnoreCase() 比较字符串
11、indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。
12、substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
13、concat() 连接两个字符串
14 、replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s="Hello".replace('l','w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
15、trim() 去掉起始和结尾的空格
16、valueOf() 转换为字符串
17、toLowerCase() 转换为小写
18、toUpperCase() 转换为大写
19、StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
(1)、length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。
(2)、ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)
(3)、setLength() 设置缓冲区的长度
void setLength(int len)
(4)、charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
(5)、getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
(6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append("a=").append(a).append("!").toString();
(7)、insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定将字符串插入到StringBuffer对象中的位置的下标。
(8)、reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()
(9)、delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
(10)、replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)
(11)、substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)
② string类的关键方法
这要看string的源码,一般常用的方法有equals比较,replace替换,还有indexof取字符下标,substring截取等
③ java中String 类的常用方法有哪些
友情提示:
1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1
2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1
3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
④ string类的常用方法都有哪些
可以看String类的源码,我把重点给你圈出来了。有不懂的可以随时找我。
⑤ string类型中都有哪些方法
java中String的操作api2007-04-19 16:25:59| 分类: Work &Study | 标签: |字号大中小 订阅 .
创建一个字符串实例变量StringBuffer buf = new StringBuffer("Java"); // Append buf.append(" Almanac v1/"); // Java Almanac v1/ buf.append(3); // Java Almanac v1/3 // Set int index = 15; buf.setCharAt(index, '.'); // Java Almanac v1.3 // Insert index = 5; buf.insert(index, "Developers ");// Java Developers Almanac v1.3 // Replace int start = 27; int end = 28; buf.replace(start, end, "4"); // Java Developers Almanac v1.4 // Delete start = 24; end = 25; buf.delete(start, end); // Java Developers Almanac 1.4 // Convert to string String s = buf.toString();比较字符串String s1 = "a"; String s2 = "A"; String s3 = "B"; // Check if identical 监测是否一致 boolean b = s1.equals(s2); // false // Check if identical ignoring case b = s1.equalsIgnoreCase(s2); // true // Check order of two strings 监测两个字符串的顺序 int i = s1.compareTo(s2); // 32; lowercase follows uppercase if (i < 0) { // s1 precedes s2 } else if (i > 0) { // s1 follows s2 } else { // s1 equals s2 } // Check order of two strings ignoring case i = s1.compareToIgnoreCase(s3); // -1 if (i < 0) { // s1 precedes s3 } else if (i > 0) { // s1 follows s3 } else { // s1 equals s3 } // A string can also be compared with a StringBuffer; StringBuffer sbuf = new StringBuffer("a"); b = s1.contentEquals(sbuf); // true判断一个字符串中是否包含另外一个字符串String string = "Madam, I am Adam"; // Starts with boolean b = string.startsWith("Mad"); // true // Ends with b = string.endsWith("dam"); // true // Anywhere b = string.indexOf("I am") > 0; // true // To ignore case, regular expressions must be used // Starts with b = string.matches("(?i)mad.*"); // Ends with b = string.matches("(?i).*adam"); // Anywhere b = string.matches("(?i).*i am.*");获取制定字符串中的子串int start = 1; int end = 4; String substr = "aString".substring(start, end); // Str查询指定字符串中的子串以及字母的位置String string = "madam, i am Adam"; // Characters // First occurrence of a c int index = string.indexOf('a'); // 1 // Last occurrence index = string.lastIndexOf('a'); // 14 // Not found index = string.lastIndexOf('z'); // -1 // Substrings // First occurrence index = string.indexOf("dam"); // 1 // Last occurrence index = string.lastIndexOf("dam"); // 13 // Not found index = string.lastIndexOf("z"); // -1取代制定字符的函数操作// Replace all occurrences of 'a' with 'o' String newString = string.replace('a', 'o');取代制定字符串的操作static String replace(String str, String pattern, String replace) { int s = 0; int e = 0; StringBuffer result = new StringBuffer(); while ((e = str.indexOf(pattern, s)) >= 0) { result.append(str.substring(s, e)); result.append(replace); s = e+pattern.length(); } result.append(str.substring(s)); return result.toString(); }转变字符串的大小写// Convert to upper case String upper = string.toUpperCase(); // Convert to lower case String lower = string.toLowerCase();Converting a Primitive Type Value to a String
// Use String.valueOf() String s = String.valueOf(true); // true s = String.valueOf((byte)0x12); // 18 s = String.valueOf((byte)0xFF); // -1 s = String.valueOf('a'); // a s = String.valueOf((short)123); // 123 s = String.valueOf(123); // 123 s = String.valueOf(123L); // 123 s = String.valueOf(1.23F); // 1.23 s = String.valueOf(1.23D); // 1.23 // Use + s = ""+true; // true s = ""+((byte)0x12); // 18 s = ""+((byte)0xFF); // -1 s = ""+'a'; // a s = ""+((short)123); // 123 s = ""+123; // 123 s = ""+123L; // 123 s = ""+1.23F; // 1.23 s = ""+1.23D; // 1.23Converting Between Unicode and UTF-8
try { // Convert from Unicode to UTF-8 String string = "abc\u5639\u563b"; byte[] utf8 = string.getBytes("UTF-8"); // Convert from UTF-8 to Unicode string = new String(utf8, "UTF-8"); } catch (UnsupportedEncodingException e) { }Determining a Character's Unicode Block
char ch = '\u5639'; Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);Determining If a String Is a Legal Java Identifier
// Returns true if s is a legal Java identifier. public static boolean isJavaIdentifier(String s) { if (s.length() == 0 || !Character.isJavaIdentifierStart(s.charAt(0))) { return false; } for (int i=1; i<s.length(); i++) { if (!Character.isJavaIdentifierPart(s.charAt(i))) { return false; } } return true; } // Some examples boolean b = isJavaIdentifier("my_var"); // true b = isJavaIdentifier("my_var.1"); // false b = isJavaIdentifier("$my_var"); // true b = isJavaIdentifier("\u0391var"); // true b = isJavaIdentifier("_"); // true b = isJavaIdentifier("___FCKpd___175quot;); // true b = isJavaIdentifier("1$my_var"); // falseNumbers
精确计算类实例package hxj;
import java.math.BigDecimal;
/**
* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精
* 确的浮点数运算,包括加减乘除和四舍五入。
*/
public class mymatch {
//默认除法运算精度
private static final int DEF_DIV_SCALE = 10;
//这个类不能实例化
private Arith() {}
/**
* 提供精确的加法运算。
* @param v1 被加数
* @param v2 加数
* @return 两个参数的和
*/
public static double add(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* 提供精确的减法运算。
* @param v1 被减数
* @param v2 减数
* @return 两个参数的差
*/
public static double sub(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* 提供精确的乘法运算。
* @param v1 被乘数
* @param v2 乘数
* @return 两个参数的
*/
public static double mul(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
* 小数点以后10位,以后的数字四舍五入。
* @param v1 被除数
* @param v2 除数
* @return 两个参数的商
*/
public static double div(double v1, double v2) {
return div(v1, v2, DEF_DIV_SCALE);
}
/**
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
* 定精度,以后的数字四舍五入。
* @param v1 被除数
* @param v2 除数
* @param scale 表示表示需要精确到小数点以后几位。
* @return 两个参数的商
*/
public static double div(double v1, double v2, int scale) {
if (scale < 0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 提供精确的小数位四舍五入处理。
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
public static double round(double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
};
转变字符串为数字格式byte b = Byte.parseByte("123"); short s = Short.parseShort("123"); int i = Integer.parseInt("123"); long l = Long.parseLong("123"); float f = Float.parseFloat("123.4"); double d = Double.parseDouble("123.4e10");Parsing and Formatting a Number into Binary, Octal, and Hexadecimal
int i = 1023; // Parse and format to binary i = Integer.parseInt("1111111111", 2); // 1023 String s = Integer.toString(i, 2); // 1111111111 // Parse and format to octal i = Integer.parseInt("1777", 8); // 1023 s = Integer.toString(i, 8); // 1777 // Parse and format to decimal i = Integer.parseInt("1023"); // 1023 s = Integer.toString(i); // 1023 // Parse and format to hexadecimal i = Integer.parseInt("3ff", 16); // 1023 s = Integer.toString(i, 16); // 3ff // Parse and format to arbitrary radix <= Character.MAX_RADIX int radix = 32; i = Integer.parseInt("vv", radix); // 1023 s = Integer.toString(i, radix); // vv
⑥ java中string类的方法有哪些
方法摘要
char charAt(int index)
返回指定索引处的 char 值。
int codePointAt(int index)
返回指定索引处的字符(Unicode 代码点)。
int codePointBefore(int index)
返回指定索引之前的字符(Unicode 代码点)。
int codePointCount(int beginIndex, int endIndex)
返回此 String 的指定文本范围中的 Unicode 代码点数。
int compareTo(String anotherString)
按字典顺序比较两个字符串。
int compareToIgnoreCase(String str)
不考虑大小写,按字典顺序比较两个字符串。
String concat(String str)
将指定字符串联到此字符串的结尾。
boolean contains(CharSequence s)
当且仅当此字符串包含 char 值的指定序列时,才返回 true。
boolean contentEquals(CharSequence cs)
当且仅当此 String 表示与指定序列相同的 char 值时,才返回 true。
boolean contentEquals(StringBuffer sb)
当且仅当此 String 表示与指定的 StringBuffer 相同的字符序列时,才返回 true。
static String ValueOf(char[] data)
返回指定数组中表示该字符序列的字符串。
static String ValueOf(char[] data, int offset, int count)
返回指定数组中表示该字符序列的字符串。
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 解码为字节序列,并将结果存储到一个新的字节数组中。
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 构造方法,该方法使用平台的默认字符集。
byte[] getBytes(String charsetName)
使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
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()
返回字符串对象的规范化表示形式。
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 参数的字符串表示形式。
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
⑦ 列出string类的常用方法,需要说明方法的返回值类型,输入参数的类型及方法的作用。
重载
类中定义的方法的不同版本
public int Calculate(int x, int y)
public double Calculate(double x, double y)
特点(两必须一可以)
方法名必须相同
参数列表必须不相同
返回值类型可以不相同
覆写
子类中为满足自己的需要来重复定义某个方法的不同实现。
通过使用override关键字来实现覆写。
只有虚方法和抽象方法才能被覆写。
要求(三相同)
相同的方法名称
相同的参数列表
相同的返回值类型
⑧ java中string类有哪些常用方法
用的比较多的: 1 替换字符串 replace(); 2 分割字符串 split("regex"); 3 equals 字符串比较 4 length() 获取长度、、、、好多好多 你看看api
⑨ String类的几个常用方法
一. Java的api-docs文档组成
1. 在docs中,Java中任何一个类的文档由如下几部分组成:
★类的相关定义,包括类的名称,有哪些父类,有哪些接口;
★类的相关简介,包括一些基本的使用说明;
★成员(Field)摘要:属性就是一种成员,会列出所有出现的成员信息项;
★构造方法(Constructor)说明:列出该类中所有构造方法的信息;
★方法信息(Method)说明:所有类中定义好的可以使用的方法;
★成员、构造、方法的详细信息。
二. 字符串与字符数组
1. 字符串就是一个字符数组,所以在String类里面支持有字符数组转换为字符串以及字符串变为字符的处理操作方法。这些处理操作方法如下:
ToDo
char ch = 'a' ;
//ch = (char) (ch - 32) ;
ch -= 32 ; // 这样简写可以避免像上面一样写强制转换并且避免出现异常
三. 字节与字符串
1. 字节更多的情况是用于数据传输以及编码转换处理之中,在String类里面提供有对字节操作的支持。
2. 字节并不适合处理中文,而只有字符适合于处理中文,并且按照程序的概念来讲,一个字符等于2个字节,字节只适合于处理二进制数据。
⑩ c++ string类的常用方法有哪些
1、定义和构造初始化string 提供了很多构造函数,可以以多种方式来初始化string字符串。
2、赋值,拼接字符串string重载了 = + += 等多种运算符,让字符串组合拼接更简单。
3、访问字符操作string可以按数组方式,以下标来访问。还可以用at()函数访问指定的字符。
4、可以使用 STL 的接口可以把 string 理解为一个特殊的容器,容器中装的是字符。
5、比较操作 == != > >= < <= compare 等string的比较操作,按字符在字典中的顺序进行逐一比较。
string的特性描述
intcapacity()const;//返回当前容量(即string中不必增加内存即可存放的元素个数)。
intmax_size()const;//返回string对象中可存放的最大字符串的长度。
intsize()const;//返回当前字符串的大小。
intlength()const;//返回当前字符串的长度。
boolempty()const;//当前字符串是否为空。
voidresize(intlen,charc);//把字符串当前大小置为len,并用字符c填充不足的部分。