java.lang.String
1、String 是一个类,广泛应用于 Java 程序中,相当于一系列的字符串。在 Java 语言中 strings are objects。创建一个 strings 最直接的方式是
String greeting = "Hello world!";
可以利用新的关键字和 String 构造器创建新对象。String 类有十三个构造器,可以根据传入类型的不同,构造不同的对象。比如 character 数组:
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println(helloString);
2、String 类是不变模式,所以它创建的 String 对象也不可变。String 类有一系列用于修改 strings 对象的方法。因为 strings 对象是不可变的,这些方法真正做的是创建并返回一个包含操作结果的新 string 。
3、用于获取一个对象信息的方法是存取器方法。比如,length() 方法,它返回这个 string 对象所包含的字符数量。
public class StringDemo { public static void main(String[] args) { String palindrome = "Dot saw I was Tod";
int len = palindrome.length(); // 获取长度 char[] tempCharArray = new char[len];
char[] charArray = new char[len]; // put original string in an array of chars
for (int i = 0; i < len; i++) {
tempCharArray[i] = palindrome.charAt(i); // 获取指定位置的 char 值 // 第一个 character 是 0 最后一个是 length()-1
} // reverse array of chars
for (int j = 0; j < len; j++) {
charArray[j] = tempCharArray[len - 1 - j];
} String reversePalindrome = new String(charArray); // 将 char 数组转化为 String 类型
System.out.println(reversePalindrome);
}
}
4、String 类包含一个 getChar() 方法,将一个 string 或 string 的一部分转化为一个 characters 数组。因此我们可以将上述程序的第一个 for 循环改为
palindrome.getChars(0, len, tempCharArray, 0);
void java.lang.String.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Copies characters from this string into the destination character array.
The first character to be copied is at index srcBegin
; the last character to be copied is at index srcEnd-1
(thus the total number of characters to be copied is srcEnd-srcBegin
). The characters are copied into the subarray of dst
starting at index dstBegin
and ending at index:
dstbegin + (srcEnd-srcBegin) - 1
5、String 类包含一个连接两个字符串的方法:
string1.concat(string2);
返回一个新的 string,即string1string2(string2 添加至 string1 的末尾)。
也可以这么用:
"My name is ".concat("Rumplestiltskin");
连接字符串,更常用的是"+"。比如:
"Hello," + " world" + "!"
的结果是:
"Hello, world!"
这种连接方法可以用来连接各种对象。对于不是 String 的对象,可以用 toString() 方法转化为 String
6、Java 语言不允许 strings 跨行,所以必须在每一行的结尾,用"+"操作符对每一行进行连接。
String quote =
"Now is the time for all good " +
"men to come to the aid of their country. "
7、将 string 转换为对应的数字类,数字类中的 valueOf 方法,。
public class ValueOfDemo {
public static void main(String[] args) {
// this program requires two arguments on the command line
if (args.length == 2) {
// convert strings to numbers
float a = (Float.valueOf(args[0])).floatValue();
float b = (Float.valueOf(args[1])).floatValue();
// do some arithmetic
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
} else {
System.out.println("This program " +
"requires two command-line arguments.");
}
}
}
parseXXXX() 方法 : 也是返回数据。praseXXXX() 返回的为原始的数据(如 int 类型数据),valueOf返回的为对象(如 Integer 类的对象)
8、将数字转化为 string :代码展示如下。
// 方法一
int i;
// Concatenate "i" with an empty string; conversion is handled for you.
String s1 = "" + i;
// 方法二
// The valueOf class method.
String s2 = String.valueOf(i); // 方法三
int i;
double d;
String s3 = Integer.toString(i);
String s4 = Double.toString(d);
9、String 中的 substring 方法截取子字符串:
String substring(int beginIndex, int endIndex)
// 第一个int为开始的索引,对应String数字中的开始位置, 从0开始
// 第二个是截止的索引位置,对应String中的结束位置 // 下例输出 ri
System.out.println("String".substring(2, 4));
public String substring(int beginIndex)
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)
10、String[] split(String regex, int limit)
方法,头一个参数String regex表示字符串分割的模式,包括分隔符和正则表达式;但是第二个参数limit比较迷糊人,api中这样解释:
limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。
11、String trim() 去掉字符串两边的空格
java.lang.String的更多相关文章
- java.lang.String.getBytes(String charsetName)方法实例
java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...
- hibernate报错Unknown integral data type for ids : java.lang.String
package com.model; // Generated 2016-10-27 14:02:17 by Hibernate Tools 4.3.1.Final /** * CmDept gene ...
- 前台传参数时间类型不匹配:type 'java.lang.String' to required type 'java.util.Date' for property 'createDate'
springMVC action接收参数: org.springframework.validation.BindException: org.springframework.validation.B ...
- 记录maven java.lang.String cannot be cast to XX error
在项目开发中自定义了一个maven plugin,在本地能够很好的工作,但是在ci server上却无法正常工作报错为: --------------------------------------- ...
- javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String
javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String javax.el.Bean ...
- Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'xxx': no matching editors or conversion strategy found
今天在完成项目的时候遇到了下面的异常信息: 04-Aug-2014 15:49:27.894 SEVERE [http-apr-8080-exec-5] org.apache.catalina.cor ...
- [Ljava.lang.String和java.lang.String区别
在做项目时报了一个got class [Ljava.lang.String的提示,当时看到[Ljava.lang.String这个时,感觉有点怪怪的,第一次遇到这种情况.最后在网上查了下才明白.是数组 ...
- Spring mvc 报错:No qualifying bean of type [java.lang.String] found for dependency:
具体错误: No qualifying bean of type [java.lang.String] found for dependency: expected at least 1 bean w ...
- java.lang.ClassCastException: java.lang.String cannot be cast to com.jy.hfims.domain 映射实体类型错误
今天在做 excel导出的时候,出现了一个问题"java.lang.ClassCastException: java.lang.String cannot be cast to com.do ...
随机推荐
- App界面交互设计规范
策划007-App界面交互设计规范 字数1805 阅读3544 评论20 喜欢154 交互设计规范 在上篇<策划006-APP界面设计风格>确定下来后,产品经理(兼交互设计)还不用着急将所 ...
- PHP 部署发布接口
环境前提:电脑已安装wamp ① 在\wamp\bin\apache\apache2.4.9\conf\httpd.conf文件中, 修改 DocumentRoot 为当前项目路径,例如 Docume ...
- 函数fseek() 用法(转)
在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅. 函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h fseek 函数名: fseek ...
- cocos2dx游戏开发——别踩白块学习笔记(二)——经典模式的实现
一.创建GameScene以及GameLayer 就是简单创建一个Scene而已,在此就不多说啦~,可以参照我的打飞机的学习笔记(2). 二.添加一个开始栏 很简单,就是调用Block中的create ...
- 二维数组&多维数组
1.二维数组 二维数组由多个一维数组组成,其定义方式: ,]{ {,,,}, {,,,}, {,,,} }; 二维数组中括号中,逗号左边表示一维数组的个数,也可以说控制行,逗号后面的数表示每个一维数组 ...
- How Kafka’s Storage Internals Work
In this post I'm going to help you understand how Kafka stores its data. I've found understanding th ...
- 滑动listview隐藏和显示顶部布局
需求: 1.listview向下滑动时,隐藏顶部布局 2.listview向上滑动到最上面,显示顶部布局 3.顶部布局的隐藏和显示有过渡效果 4.第一次加载listview时,顶部不要隐藏 布局: 注 ...
- AOP动态代理解析5-cglib代理的实现
CGLIB是一个强大的高性能的代码生成包.它广泛地被许多AOP的框架使用,例如Spring AOP和dynaop,为他们提供方法的Interception(拦截).EasyMock和jMock是通过使 ...
- 使用Soapui测试webservice接口
本来想自己写一个的,但下面这个资料比较详细(截图和步骤细节),就省事了,具体内容见: http://blog.csdn.net/oracle_microsoft/article/details/568 ...
- git 学习笔记2--How to create/clone a repository
1. create/clone 1.1 create 针对已经存在的目录创建一个repository,使用以下命令: git init Initialized empty Git repository ...