Java——关于String(字符串)
String s2 = new String("abc");//创建两个对象 一个new 一个字符串对象在堆内存中。
boolean b = (s==s2);//b为false 比较的是地址
boolean b2 = s.equals(s2);//b2为true 重写了Object的equals方法, 比较的是俩个字符串的内容。
String e = new String();//等价于String e = "";
String本身是一个类,在String类中定义的构造方法:public String (String original) 可以接收一个String类的对象,并重新实例化String对
象,String还可以采用直接赋值的方式进行对象的实例化
一个字符串是使用 “”括起来的 那么一个字符串的常量实际上本身就属于String的一个匿名对象
String str = "hello" ; 与 String str = new String("hello"); 有什么区别?、
String str="hello " 如果内存已经为"hello"分配了内存空间,那么Str只要指向"hello"内存对象地址;
String str = new String("hello"); 内存中重新分配一块内存区域给"hello",str指向"hello",也就是内存中有两个hello的对象了,而且指向的地址不一样
//获取俩个字符串中 的 最大相同字串
获取 一个字符串的所有字串: 按照其长度去找 从最大长度 找到最小长度
private static String getMaxSubstring(String s1, String s2)
{
// TODO Auto-generated method stub
for (int i = 0; i < s2.length(); i++)
{
for(int a=0,b=s2.length()-i; b!=s2.length()+1; a++,b++)
{
String sub = s2.substring(a, b);
if(s1.contains(sub))
{
System.out.println(sub);
return sub;
}
}
}
return null;
}
========================================================================================
/*
* StringBuffer:其实就是字符串缓冲区。 用于存储数据的容器。
* 特点:
*
1.长度是可变的。
*
2.可以存不同类型的数据。
*
3.最终要转成字符串进行使用
* 是一个容器对象,具备的功能:
*
添加:
*
append(data)返回类型是String
*
insert(index, data)
*
删除:
*
delete(start, end):包含头,不包含尾
*
deleteCharAt(int index):删除指定位置上的元素
*
查找
*
char charAt(index);
*
int indexOf(string);
*
int lastIndexOf(string);
*
修改:
*
StringBuffer replace(start, end,string);
*
void setCharAt(index, char);
*
* StringBuffer是线程同步的,通常用于多线程。
* StringBuilder是线程不同步的。通常用于单线程的,他的出现提高了效率
*
l */
版权声明:本文为博主原创文章,未经博主允许不得转载。
Java——关于String(字符串)的更多相关文章
- java 判断String字符串是不是json数据
java 判断String字符串是不是json数据 CreationTime--2018年8月24日18点23分 Author:Marydon JSONObject jo = null; try ...
- < java.lang >-- String字符串
java中用String类进行描述.对字符串进行了对象的封装.这样的好处是可以对字符串这种常见数据进行方便的操作.对象封装后,可以定义N多属性和行为. 如何定义字符串对象呢?String s = &q ...
- 浅谈java的String字符串
一提到java的String首先想到的应该就是它的不可变性,其原因是因为String类的内部是使用一个private final char value[]的字符数组来存储数据,本身没有相应的set方法 ...
- java中String字符串
一.定义String字符串 String字符串和char字符不同,char使用单引号,只能表示一个字符,字符串就是一段文本.String是个类.这个类使用final修饰,所以这个类是不可以继承扩充和修 ...
- JAVA中String(字符串)课堂总结
一:Java编译器中关于字符串自动优化 例子一: 源代码: public class StringPool { public static void main(String args[]) { Str ...
- Java中String字符串常量池总结
最近到广州某建站互联网公司面试,当时面试官问假设有两个字符串String a="abc",String b = "abc";问输出a==b是true还是fals ...
- java中String字符串的==解析
今天不知道怎么看了下string的==的问题,本身我觉得我这个水平去判断几个字符串相等还能出问题?呵呵,真的出了大问题,根本原因在于对java字节码的不了解. 首先,==运算符比较的是两个变量所指向的 ...
- Java中String字符串常量池
首先看一个例子,通过这个例子更能快速理解String常量池 public static void main(String[] args) { String a = "ab"; St ...
- JAVA中String字符串比较equals()和equalsIgnoreCase()的区别
标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报 分类: JAVA(3) 1.使用equals( )方法比较两个字符串是 ...
- java中String字符串的替换函数:replace与replaceAll的区别
例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]";要将里面的“kk”替换为++,可以使用两种方法得到相同的结果 replace(CharSe ...
随机推荐
- centos ssh 无密码登录
在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的.telnet,因为其不安全性,在linux系统中被搁置使用 ...
- 谁说固态硬盘没容量?4TB诞生、明年8TB!
固态硬盘已经逐渐取代机械硬盘成为很多用户的首选,但唯一欠缺的就是容量,或者说单位容量的价格,但是如今,机械硬盘的容量提升举步维艰,固态硬盘却在突飞猛进. 近日,SanDisk就宣布了全球第一款容量高达 ...
- 记录一些容易忘记的属性 -- UILabel
一:UILabel lbl.alpha=0.f; lbl 透明,会影响子视图的显示 lbl.backgroundColor=[UIColor clearColor]; lbl 背景色透明,子视图 ...
- jQuery get post 碎片(远程html)加载
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- lib静态链接库,dll动态链接库,h文件
最近在弄摄像头,发现我在调用摄像头自带的函数的时候,库没连接上,于是经过高人指点,学习了一下lib静态链接库,dll动态链接库来补充一下自己的基础知识. 一.首先我们来介绍一下lib静态链接库. li ...
- 学习LCMapString和LCMapStringEx
LCMapStringEx: http://msdn.microsoft.com/en-us/library/windows/desktop/dd318702(v=vs.85).aspx For a ...
- 12-27cell常用的属性
1.创建cell // 创建一个cell并且设置cell的风格 UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UI ...
- nosql(1)---radis
Radis是一个key-value数据库,它会将key放入内存中,value放在硬盘上. 可以将数据持久化存储到磁盘. 内置的主从复制: master server和slave server之间有内 ...
- SQL实现字段内容查找和替换
- 桟的min实现:O(1)时间复杂度
实现桟的push和pop操作,以及桟的min操作返回桟中的最小值,要求这三个操作的时间复杂度均为O(1). 在Java中可以使用LinkedList实现桟的各种操作,这里使用双向链表实现桟的push和 ...