当前位置: 首页 > news >正文

河南中安建设集团有限公司网站wordpress伪静态卡死

河南中安建设集团有限公司网站,wordpress伪静态卡死,网络营销和传统营销的区别和联系,ueditor编辑器wordpressJava语言中的String对象是一个非常常见的数据类型#xff0c;大多数情况下我们都是在使用String对象来表示字符串类型的数据。Java中的String类是一个final class#xff0c;它是不可被继承的。本文将对Java中的String对象进行详细全面的描述#xff0c;包括以下几个方面大多数情况下我们都是在使用String对象来表示字符串类型的数据。Java中的String类是一个final class它是不可被继承的。本文将对Java中的String对象进行详细全面的描述包括以下几个方面 一、String类的概述 在 Java 中字符串是一种常见的数据类型经常用于存储一些文本信息。而String类则是Java提供的专门用于字符串操作的类在Java标准库中它位于java.lang包中。 String类是不可被继承的final类即它不能被其他类所继承也就是说它不能被修改。String类是通过使用Unicode字符集来表示字符串的这使得Java支持多语言字符集。由于String类的不可变性immutable所以它可以作为安全的参数发送给诸如网络连接或数据库链接之类的方法而不必担心其被篡改。String对象可以用来存储任何字符串类型的数据包括HTML、XML等格式的字符串。 二、String类的构造函数 在 Java 中String类提供了多种构造函数可以用于创建字符串对象。下面是String类的一些常用构造函数 String(char[] value)根据字符数组value来创建String对象。String(char[] value, int offset, int count)根据字符数组value的指定部分(offset开始的count个字符)来创建String对象。String(byte[] bytes)根据字节数组bytes来创建String对象使用平台默认的字符集。String(byte[] bytes, Charset charset)根据字节数组bytes来创建String对象使用指定的字符集charset。String(String original)根据原始字符串original来创建String对象。 例如 String str1 new String(Hello World!); char[] charArray {H, e, l, l, o, , W, o, r, l, d, !}; String str2 new String(charArray);三、String类的常用方法 在Java中String类还提供了很多常用的方法下面我们来介绍一些常用的方法 3.1、字符串拼接 String concat(String str)连接指定的字符串参数到此字符串的末尾。 例如 String s1 Hello; String s2 World; String s3 s1.concat(s2); // s3 HelloWorld3.2、字符串截取 char charAt(int index)返回指定索引处的 char 值。int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。int indexOf(int ch, int fromIndex)返回指定字符在此字符串中从指定位置后第一次出现处的索引。int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中从指定位置前最后一次出现处的索引。int lastIndexOf(String str)返回指定子字符串在此字符串中最后一次出现处的索引。String substring(int beginIndex)返回一个新的字符串它是此字符串的一个子字符串。String substring(int beginIndex, int endIndex)返回一个新的字符串它是此字符串的一个子字符串。 例如 String str Java is the best programming language!; System.out.println(str.charAt(5)); // out: i System.out.println(str.indexOf(the)); // out: 8 System.out.println(str.substring(0, 4)); // out: Java3.3、字符串替换 String replace(char oldChar, char newChar)返回一个新的字符串它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。String replace(CharSequence target, CharSequence replacement)使用指定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 例如 String str Java is the best programming language!; System.out.println(str.replace(a, A)); // out: JAvA is the best progrAmming lAnguAge! System.out.println(str.replace(the, a)); // out: Java is a best programming language!3.4、字符串分割 String[] split(String regex)根据指定的正则表达式拆分此字符串。String[] split(String regex, int limit)根据指定的正则表达式拆分此字符串最多拆分出limit个子字符串。 例如 String str Java is the best programming language!; String[] words1 str.split( ); System.out.println(Arrays.toString(words1)); // out: [Java, is, the, best, programming, language!]String[] words2 str.split( , 3); System.out.println(Arrays.toString(words2)); // out: [Java, is, the best programming language!]3.5、大小写转换 String toLowerCase()使用默认语言环境的规则将此 String 所有字符都转换为小写。String toUpperCase()使用默认语言环境的规则将此 String 所有字符都转换为大写。 例如 String str Java is the best programming language!; System.out.println(str.toUpperCase()); // out: JAVA IS THE BEST PROGRAMMING LANGUAGE!3.6、字符串比较 boolean equals(Object anObject)将此字符串与指定对象进行比较。如果两个对象相等则返回 true否则返回 false。boolean equalsIgnoreCase(String anotherString)将此 String 与另一个 String 进行比较不考虑大小写。boolean startsWith(String prefix)测试此字符串是否以指定的前缀开始。boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束。int compareTo(String anotherString)按字典顺序比较两个字符串。 例如 String str1 Java is awesome!; String str2 Java is great!; System.out.println(str1.equals(str2)); // out: false System.out.println(str1.startsWith(Java)); // out: true System.out.println(str2.endsWith(great!)); // out: true System.out.println(str1.compareTo(str2)); // out: -6四、String类的不可变性原理及优缺点 String类在Java中是不可变的immutable的这意味着一旦创建了一个String对象它的值就不能被修改。String类的不可变性主要由以下两个方面造成 4.1、String类的存储结构 在Java中String对象实际上是一个包含字符数组的引用和一个表示字符串长度的整数。因此在进行字符串操作时String对象的引用和长度是不会变化的只有字符数组才会被修改。而由于Java数组是一个固定长度的数据结构因此String对象的不可变性就被保证了。 4.2、String类的操作方法 在Java中String对象提供了很多用于字符串操作的方法例如substring、concat等。这些方法都是返回一个新的String对象而不会在原有的String对象上进行修改这也保证了String对象的不可变性。 String对象的不可变性带来了下面的优点 线程安全由于String对象的不可变性多个线程可以对同一个String对象进行访问操作而不必担心数据的安全问题。安全性由于String对象不可变它不能被篡改从而可以避免一些恶意攻击。性能优化由于String对象是不可变的因此可以进行一些性能方面的优化。例如String类实现了字符串池这个概念。 同时也存在以下缺点 内存占用由于每次使用String类进行字符串操作时都会创建一个新的String对象并且原有的String对象不会被修改这样就会占用更多的内存空间。创建大量垃圾对象由于String对象的不可变性每进行一次字符串操作就会创建一个新的String对象如果进行大量的字符串操作就会创建大量的垃圾对象导致垃圾回收器的频繁运行。字符串拼接效率低由于每进行一次字符串拼接操作就会创建一个新的String对象效率较低。 五、String类的实现原理及性能问题 在 Java 中String对象是通过char[]字符数组来存储字符串的。StringBuilder和StringBuffer也是通过char[]数组来存储字符串的只不过它们在进行字符串操作时会在原有的char[]数组上进行修改而不是每次都创建一个新的char[]数组。 由于String对象的不可变性每次对String对象进行字符串操作时都会创建一个新的String对象这样会导致大量的内存开销和垃圾对象的产生因此在进行大量的字符串操作时应该尽量使用StringBuilder或StringBuffer来避免这些问题。 StringBuilder和StringBuffer都继承了AbstractStringBuilder类它们之间的区别在于StringBuilder是线程不安全的而StringBuffer是线程安全的。如果多个线程需要对同一个字符串进行操作时应该使用StringBuffer来保证线程安全性。 在进行字符串操作时如果需要创建一个新的String对象可以使用静态方法String.valueOf()或者直接将字符数组传递给String类的构造函数来创建新的String对象这样可以避免产生大量的垃圾对象。 六、字符串池的工作原理 Java中有一种称为字符串池String Pool的机制它的主要作用是避免创建重复的String对象从而节省内存空间。 当创建一个字符串时JVM首先会在字符串池中查找该字符串是否已经存在。如果存在则返回该字符串在字符串池中的引用否则在字符串池中创建该字符串并返回该字符串在字符串池中的引用。 下面是一个示例代码 String str1 Hello; String str2 Hello; String str3 new String(Hello);System.out.println(str1 str2); // true因为str1和str2都指向字符串池中的同一个对象 System.out.println(str1 str3); // false因为str3指向堆内存中新创建的String对象因此如果需要创建多个相同的字符串对象可以直接使用字符串池中已有的对象这样可以节省内存空间。 七、String类与StringBuilder、StringBuffer的比较 在进行字符串操作时Java中常用的有String、StringBuilder和StringBuffer三种类。 StringString类是不可变的每次进行字符串操作时都会创建一个新的String对象。因此在需要大量字符串操作时使用String类效率较低。StringBuilderStringBuilder是可变的它可以在原有的字符数组上进行修改而不用每次都创建一个新的字符数组。因此在需要大量字符串操作时使用StringBuilder类可以提高效率。StringBufferStringBuffer也是可变的并且是线程安全的因此适用于多个线程对同一字符串进行操作的场景。 下面是一个比较字符串拼接效率的示例代码 String s ; for (int i 0; i 10000; i) {s a; }上述代码中使用了String来进行字符串拼接操作每次都会创建一个新的String对象因此效率较低。下面是使用StringBuilder进行字符串拼接的代码示例 StringBuilder sb new StringBuilder(); for (int i 0; i 10000; i) {sb.append(a); } String s sb.toString();由于StringBuilder是可变的因此在进行字符串操作时效率较高。 总之在进行大量的字符串操作时应该尽量使用StringBuilder或StringBuffer避免使用String类导致效率低下。
http://www.hkea.cn/news/14395956/

相关文章:

  • 郑州网站模板哪里有wordpress 获取菜单项
  • 中山台州网站建设推广安徽省建设工程信息网站6
  • 北京设计网站的公司微信小程序网站建设
  • 51一起做网站开个小网站要怎么做
  • dedecms是什么意思济宁优化推广
  • 东莞网站制作很好 乐云践新免费解析素材网站
  • 网站备案号中信息有变国际化网站设计
  • 建设银行网上银行网站一起做网店网官网
  • 企业建网站计什么科目黄冈crm系统
  • 集团网站网站建设比较好公司
  • 网站制作公司司夜深人不静免费看高清
  • 重庆手机网站制作广州培训 网站开发
  • 诚信网站 互联网建站深圳软件开发有限公司
  • 网站改版怎样做301重庆市特种作业证报名
  • 做网站服务器哪个好大学制作网站怎么做
  • vps网站目录显示灰色的wordpress skydrive
  • h5页面制作软件下载咸阳seo推广
  • 做网站第一步要干啥网站建设广告平台推广
  • 购书网站开发广东个人网站备案
  • 西安网站建设winkuowordpress模板学校
  • p2p网站开发费用怎么让客户做网站
  • 做的好的手机网站有哪些iis7 网站用户权限
  • 金昌八冶建设集团官方网站常熟建设合同备案在哪个网站
  • 上海做网站哪家好城市分站网站设计
  • 做网站版权怎么写免费搭建手机网站
  • 网页 网站及与之相关的概念国家网站建设
  • 广州市外贸网站建设企业专业做生鲜的网站
  • 南皮网站建设使用word做网站
  • 招聘网站上找在家做html5素材网站
  • 实验室网站建设重要性wordpress rtmp