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

做网站作品是静态wordpress 多语言插件

做网站作品是静态,wordpress 多语言插件,装企网站建设,网站布局设计创意#x1f970;#x1f970;#x1f970;来都来了#xff0c;不妨点个关注叭#xff01; #x1f449;博客主页#xff1a;欢迎各位大佬!#x1f448; 文章目录 1. 字符串不可变性1.1 设计不可变1.2 修改字符串创建新对象1.3 为什么字符串不可变1.4 String类设计不可变的…来都来了不妨点个关注叭 博客主页欢迎各位大佬! 文章目录 1. 字符串不可变性1.1 设计不可变1.2 修改字符串创建新对象1.3 为什么字符串不可变1.4 String类设计不可变的好处1.5 字符串的修改 2. 如何查看反编码3. StringBuff和StringBuilder4. 常考面试题 1. 字符串不可变性 String是一种不可变对象即字符串中的内容是不可改变它们的内容被创建好后就不能被修改了 为什么呢~ 1.1 设计不可变 String类在设计时是不可改变String类实现描述中已说明以下来自JDK1.8String类的部分实现如下图 1String类中的字符实际保存在内部维护的value字符数组中 2String类被final修饰表示String类不能被继承 3value被final修饰表示value自身的值不能改变即不能引用其它字符数组但其引用空间中的内容可以修改 1.2 修改字符串创建新对象 所有涉及到可能修改字符串内容的操作都是创建一个新对象改变的是新对象 字符串的不可变性字符串中的内容是不可改变如修改了则是创建了新对象改变的是新对象 1.3 为什么字符串不可变 【误区】 认为字符串不可变是因为其内部保存字符的数组value被final修饰了因此不能改变 这种说法是错误的不是因为String类自身被final修饰也不是因为其内部value被final修饰而不能被修改 【正解】 final修饰类表明该类不想被继承final修饰引用类型表明该引用变量不能引用其他对象但其引用对象中的内容可以修改“看起来String可变”其实创建了新对象!!! public class Test17 {public static void main(String[] args) {final int array[] {1,2,3,4,5};array[0] 100;System.out.println(Arrays.toString(array));array new int[]{7,8,9};// 编译报错Error:(15, 9) java: 无法为最终变量array分配值} }由上述代码进一步理解可以修改对象引用的内容但是无法更改引用的指向!!! 1.4 String类设计不可变的好处 为什么String类要设计成不可变的呢~ 原因有以下3点 从字符串对象池来说方便实现字符串对象池如果 String 可变对象池就需要考虑写时拷贝的问题变得复杂从线程安全角度来说不可变对象是线程安全的从缓存角度来说不可变对象更方便缓存 hash code, 作为 key 时可以更高效的保存到 HashMap中 1.5 字符串的修改 以下这种方式不推荐使用!!! 【原因】效率极低中间创建好多临时对象空间的占用 public class Test {public static void main(String[] args) {String s hello ;s world!;System.out.println(s);} }打印结果如下 在上述代码过程中查看反编码具体过程分析如下图 StringBuilder的构造方法如下 可想而知如果放在循环体中这样修改字符串中间会创建好多临时变量 【注意】尽量避免直接对String类型对象进行修改String类不能修改所有的修改都会创建新对象效率非常低 String类进行修改时效率非常慢所以需要尽量避免对String的直接使用修改如果要修改建议尽量使用StringBuffer或者StringBuilder接下来StringBuffer和StringBuilder闪亮登场 2. 如何查看反编码 上面的反编码是如何进行查看的呢下面是保姆级教程!!! 【步骤】 1首先运行该程序!!! 2找到文件所在位置 3找到字节码文件 进入到这个界面我们需要找到.class文件即字节码文件 4 输入cmd 5输入 javap -c Test15 【注意事项】javap -c Test15中Test15是该程序的类名请输入你自己的类名哦~ 3. StringBuff和StringBuilder 由于String的不可更改特性为方便字符串的修改Java中又提供StringBuilder和StringBuffer类这两大类这两个类大部分功能是相同的 这里介绍 StringBuilder和StringBuff常用的一些方法 其它方法需要用到可参阅Java在线文档 以下为上述方法的具体使用更深入了解其方法~ public class Test {public static void main(String[] args) {StringBuilder sb1 new StringBuilder(hello);StringBuilder sb2 sb1;//append追加即尾插(字符、字符串、整形数字)sb1.append( ); //hellosb1.append(world); //hello worldsb1.append(1); //hello world1System.out.println(sb1); //hello world1System.out.println(sb1 sb2); //trueSystem.out.println(sb1.length()); //获取字符串的有效长度12System.out.println(sb1.capacity()); //获取底层数组的总大小sb1.setCharAt(0, H); //设置任意位置的字符 Hello world1sb1.insert(0, Hello world!!!); //Hello world!!!Hello world1System.out.println(sb1);System.out.println(sb1.indexOf(Hello)); //获取Hello第一次出现的位置System.out.println(sb1.lastIndexOf(hello)); //获取hello最后一次出现的位置sb1.deleteCharAt(0); //删除首字符sb1.delete(0,5); //删除[0, 5)范围内的字符String str sb1.substring(0, 5); //截取[0, 5)区间中的字符以String的方式返回System.out.println(str);sb1.reverse(); //字符串逆转str sb1.toString(); //将StringBuffer以String的方式返回System.out.println(str);} }在很多题目中StringBuilde.append()方法经常使用到应用于那些经常要修改的字符串中还是相当方便哒~ 【注意事项】 String和StringBuilder类不能直接转换。如果想互相转换采用如下原则: String—StringBuilder: 1利用StringBuilder的构造方法 2 append()方法 StringBuilder—String: 调用toString()方法 4. 常考面试题 String、StringBuffer、StringBuilder的区别 内容上String的内容不可修改StringBuffer与StringBuilder的内容可以修改功能上StringBuffer与StringBuilder大部分功能是相似的线程安全上StringBuffer采用同步处理属于线程安全操作而StringBuilder未采用同步处理属于线程不安全操作 【解释说明】 对线程安全来说StringBuffer线程安全可以在多线程下使用StringBuilder线程不安全在单线程下使用那么都用StringBuffer不就好了嘛~不需要考虑线程安全问题了 不行会浪费很多资源加锁和释放锁都会浪费资源 本期内容回顾 ✨✨✨本期内容到此结束啦~
http://www.hkea.cn/news/14494744/

相关文章:

  • 做标志的网站网站已备案下一步怎么做
  • 信阳网站设计古玩网站建设意义
  • mvc 网站开发百度竞价排名机制
  • 玩具 网站模板成都农业网站建设
  • 网站被墙了怎么办通州郑州阳网站建设
  • 枣阳网站开发公司哪家好广州模板建站软件
  • 国外设计素材网站如何建设学校门户网站
  • 手机可以开发网站临安建设投标网站
  • 域名是否就是网站在线阅读小说网站怎么建设
  • 用ps做零食网站模板wordpress添加管理员
  • 医疗器械类网站前置审批快速搭建网站前端
  • 免费软件制作网站模板下载软件迅速上排名网站优化
  • 亦庄做网站ppt下载免费完整版
  • 做网站的哪家公司好工业产品设计与创客实践赛题库
  • 建设网站的编程过程linux 什么做网站好
  • 做电器哪个网站好如何做cad图纸模板下载网站
  • 美容网站制作购物商城网站制作
  • ppt超链接至网站怎么做西安凤城二路网站建设
  • 做网站 赚钱深圳律师网站建设
  • 网站建设背景分析论文个人做网站备案多少钱
  • 上海响应式网站网上买购物的软件有哪些
  • 网站建设及推广优化好的建筑设计网站
  • 找一家秦皇岛市做网站的公司禁止显示网站目录
  • 湖南高端网站建设纯静态网站制作
  • 百度注册网站泉州做网站联系方式
  • 高端设计网站制作wordpress做管理网站
  • 中国的网站建设数据分析沭阳做网站公司排名前十
  • 找人做网站维护多少钱网页的制作公司
  • 网站开发与运行环境地旺建设官方网站
  • 后台网站地图注册建筑工程公司起名大全