16、String、StringBuilder和StringBuffer的区别

  • String类是final的,不可变,StringBuilder和StringBuffer可变;
  • 大部分情况下的执行效率:StringBuilder > StringBuffer > String,但是类似String str = "abc"+"def"这种情况下,String的效率最高;
  • String是线程安全的,因为String类是final的,StringBuffer也是线程安全的,StringBuilder不是线程安全的。

总结一下:

String适用于少量字符串操作的情况;

StringBuilder适用于单线程下进行大量操作的情况;

StringBuffer适用于多线程下进行大量操作的情况。

17、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?

public class Java8Tester {

    public String translate(String str) {
String tempStr = "";
try {
//按照ISO-8859-1进行解码
byte[] b = str.getBytes("ISO-8859-1");
//按照GBK重新进行编码
tempStr = new String(b, "GBK");
tempStr = tempStr.trim();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return tempStr;
}
}

18、&和&&的区别?

相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与

不同点:

  • &不具备短路功能,&两边都要计算,而&&具有短路功能,即&&左边为false结果就为false,右边不用计算;
  • &还可以表示按位与操作,而&&不行。

19、在Java中,如何跳出当前的多重嵌套循环?

java中使用带有标号的break语句跳出多重循环,即在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出。

20、你能比较一下Java和JavaSciprt吗?

java:面向对象,需要编译,再进行运行,强类型;

javascript:基于对象和事件驱动,解释型语言,弱类型。

JavaSE之Java基础(4)的更多相关文章

  1. Java匹马行天下之JavaSE核心技术——Java基础语法

    Java基础语法 一.   认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...

  2. 【JavaSE】Java基础·疑难点汇集

    Java基础·疑难点 2019-08-03  19:51:39  by冲冲 1. 部分Java关键字 instanceof:用来测试一个对象是否是指定类型的实例. native:用来声明一个方法是由与 ...

  3. JavaSE之Java基础(2)

    6.java8新特性 Lambda表达式 接口的默认方法与静态方法 方法引用 重复注解 扩展注解的支持 Optional类 Stream API Date Time API JavaScript引擎N ...

  4. JavaSE之Java基础(1)

    1.为什么重写equals还要重写hashcode 首先equals与hashcode间的关系是这样的: 1.如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相 ...

  5. JavaSE之Java基础(5)

    21.简述正则表达式及其用途. 在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. 22.Java ...

  6. JavaSE之Java基础(3)

    11.什么是值传递和引用传递? 值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值. 引用传递:也称为传地址.方法调用时,实际参数的引用被传递给方法 ...

  7. java基础(一章)

    java基础(一章) 1.            java是一种面向对象的高级编程语言. 2.            java包括:              javase(java基础)       ...

  8. JavaSE学习总结(一)——Java基础

    一.Java是什么 Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用.有许多 ...

  9. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

随机推荐

  1. MyBatis 学习总结(1)

    MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,几乎消除了所有的 JDBC 代码和参数的手工设置以及结果集的处理,通过XML(sqlMapConfig)或注解配置数据源和 ...

  2. 功能:formatter 表单提交 拼接参数的形式

    datagarid的formatter属性 value: 代表当前单元格中的值.row:代表当前行.index: 代表当前行的下标. {field:'is_hot',title:'是否热门',widt ...

  3. 5、bam格式转为bigwig格式

    1.Bam2bigwig(工具) https://www.researchgate.net/publication/301292288_Bam2bigwig_a_tool_to_convert_bam ...

  4. Sublime text3 创建html模板

    最近接手了公司官网跟新的任务,需要编写HTML页面.页面中存在大量重复内容(导航条.页脚.侧边栏等),每次复制粘贴也不是个事,网上搜了相关的HTML模板创建问题,还找到了.楼主使用的是Sublime ...

  5. sklearn解决过拟合的例子

    Learning curve 检视过拟合 sklearn.learning_curve 中的 learning curve 可以很直观的看出我们的 model 学习的进度, 对比发现有没有 overf ...

  6. android build system resource links

    总体结构,参见这里:http://www.jayway.com/2012/10/24/a-practical-approach-to-the-aosp-build-system/ 一般应用的Andro ...

  7. Jquery常用标签

    $(this).hide(1000)//隐藏该元素 $(this).show(1000)//显示该元素 $(this).fadeIn(1000)//淡入已隐藏的元素 $(this).fadeOut(1 ...

  8. Web调试利器fiddler介绍

    转载:http://blog.chinaunix.net/uid-27105712-id-3738821.html 最近在使用fiddler,发现这个真是非常最犀利的web调试工具,笔者这里强烈推荐给 ...

  9. ProtoBuf练习(四)

    其中一个类型 protobuf语言的oneof字段类型相当于C++语言的联合数据类型 工程目录结构 $ ls proto/ sample_oneof.proto proto文件 $ cat proto ...

  10. AOP常用注解

    1.@Aspect 配置切面Bean,和<bean.../>元素进行配置无区别,一样支持依赖注入来配置属性值: 如果启动了Spring的"零配置"特性,一样可以让Spr ...