1.下面输出的结果是
Integer i1 = 127;
Integer i2 = 127;
System.err.println(i1 == i2);
i1 = 128;
i2 = 128;
System.err.println(i1 == i2);
false
true
Integer类的源码:
static final Integer[] cache = new Integer[-(-128) + 127 + 1];
static {
for(int i = 0; i < cache.length ; i++){
cache[i] = new Integer(i - 128);
}
}
从上面代码可以看出系统把-128~127之间的整数自动装箱成Integer实例,并放入一个名为cache的数组缓存起来,如果把一个-128~127之间的整数自动装箱成一个Integer实例,实际上就是直接指向数组元素,所以相等;但每次把一个不在-128~127的范围内整数自动装箱成Integer实例时,系统需重新创建一个Integer实例。【ps:参考《疯狂java讲义》】
或者详细可见http://www.ticmy.com/?p=110
2.如何将list中的值去重复且顺序不变
1)网上比较常见的做法
public static List<String> removeDuplicateWithOrder(List<String> list) {
HashSet<String> hashSet = new HashSet<String>();
List<String> newlist = new ArrayList<String>();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String element = (String) iterator.next();
if (hashSet.add(element)) {
newlist.add(element);
}
}
list.clear();
list.addAll(newlist);
return list;
}
2)比较简单的一种做法
java.util.LinkedHashSet set = new LinkedHashSet(mylist);
ArrayList newList = new ArrayList(set);
LinkedHashSet原理可见:http://zhangshixi.iteye.com/blog/673319
顺便把list顺序不要求的代码也贴出来
public static void removeDuplicate(ArrayList arlList)
{
HashSet h = new HashSet(arlList);
arlList.clear();
arlList.addAll(h);
}
3.StringBuffer题
public static void main(String args[]){
StringBuffer s1 = new StringBuffer("A");
StringBuffer s2 = new StringBuffer("B");
isMathod(s1,s2);
System.out.println(s1+"======="+s2);
}
public static void isMathod(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}
输出结果是:AB=======B
原因自己也不知,希望知道的朋友解答一下
顺便说说StringBuilder与StringBuffer的区别
其实两个的操作都相同,只不过StringBuilder不同步不安全的,但执行速度也更快,StringBuffer同步的,相对StringBuilder更慢些
分享到:
相关推荐
根据给定的信息,我们将逐一分析这10个Java面试题所涉及的知识点: ### 1. JVM 对频繁调用的方法做了哪些优化? JVM(Java虚拟机)在运行时会针对频繁调用的方法进行多种优化措施,以提高程序执行效率。主要的优化...
《C++面试题经典300道》涵盖了C++编程语言的基础到高级概念,以下是针对题目描述和部分内容的详细解答: 1. **主函数的返回值**:在C++中,`main`函数的返回值通常用于表示程序的执行状态。`return 0`表示程序正常...
### 嵌入式C语言面试题解析 #### 预处理器(Preprocessor) 1. **用预处理指令`#define`声明一个常数,用以表明1年中有多少秒(忽略闰年问题)** - **代码示例**: ```c #define SECONDS_PER_YEAR (60 * 60 * ...
根据给定的信息,我们可以整理出以下关于 Java 的基础面试题及其相关知识点: ### 1. 创建线程的方式 #### 继承 Thread 类实现线程 在 Java 中创建线程最直接的方法之一是通过继承 `Thread` 类并重写 `run()` 方法...
### JAVA常见面试题300道之精选知识点解析 #### 1. Java 为何被称为平台无关的语言? Java 是一种能够跨平台运行的编程语言。它通过编译源代码(.java 文件)为字节码(.class 文件),使得在任何安装了 Java ...
### C#面试题详解 #### 1. 访问修饰符的理解 - **Private**: 这个修饰符定义了一个私有成员,意味着只有定义它的类内部可以访问这个成员。这通常用于封装类的内部状态,确保外部代码无法直接修改这些状态。 - **...
### Java程序员的10道XML面试题详解 #### 1. XML是什么? XML,全称为**可扩展标记语言**(Extensible Markup Language),是一种用于描述数据的标记语言。它允许开发者根据自身需求创建自定义标签,这使得XML非常...
2. **编程题**:通过几道编程题目来考察应聘者的编程能力和解决问题的能力。 3. **Java基础知识提问**:考察应聘者对于Java基础知识的掌握程度,包括但不限于数据类型、控制结构、面向对象特性等。 #### 2. 面向...
### JAVA面试题集知识点解析 #### 1. JDBC并发处理:多线程环境下获取数据库连接的方式 在JDBC(Java Database Connectivity)编程中,当面对高并发环境时,正确管理和控制数据库连接至关重要。通常,一个应用程序...
预处理指令 `#define` 用于定义宏,通常用于常量值的定义或者简单的函数式宏的定义。 - **定义常量**:例如 `#define PI 3.14159`。 - **定义函数式宏**:如 `#define MAX(a,b) ((a)>(b)?(a):(b))`。 - **注意**:...
Nginx面试题及答案 Nginx是一款流行的开源Web服务器软件,广泛应用于web服务器、虚拟主机、反向代理、负载均衡等领域。下面是Nginx面试题及答案的知识点总结: 为什么要用Nginx? 1. 跨平台、配置简单、方向代理...
【微软面试题解析】 面试是求职过程中的关键环节,尤其对于技术岗位,面试题往往具有挑战性和创新性。微软作为全球知名的科技公司,其面试题不仅考察候选人的专业技能,还涉及逻辑思维、问题解决和创新能力。以下是...
### Python必会的12道面试题 #### 1. 单引号、双引号和三引号之间的区别 在Python中,单引号、双引号和三引号都可以用来定义字符串,但它们之间有一些细微的区别: - **单引号** 和 **双引号** 主要用于创建字符...
以上就是文中提到的10个Python面试题及其答案的详细解析,这些基本概念是理解Python编程的关键,对于准备Python面试的开发者来说至关重要。通过深入学习和实践,开发者可以更好地掌握Python,从而在工作中游刃有余。
以上知识点涵盖了Java面试中常见的问题,对于准备Java面试的求职者来说,深入理解这些知识点是很有帮助的。通过系统复习这些内容,面试者可以更好地应对面试官的提问,展现出自己的技术实力和专业素养。
从给定的文件信息中,我们可以提取出几个关键的C语言知识点,这些知识点不仅对于学习C语言的人...以上就是从给定文件中提取出来的C语言经典面试题的相关知识点,掌握这些知识点将有助于你在C语言的面试中表现更加出色。
- 事件是基于委托的机制,用于在对象间通信,通常用于实现发布/订阅模式,确保接收者不会直接调用发送者。 5. `override` 与重载的区别: - 重载(Overload)发生在同一作用域内,通过不同的参数列表定义多个同名...
### 硬件工程师面试题解析 #### 一、模拟电路 **1. 基尔霍夫定律** - **基尔霍夫电流定律(KCL)**:在一个电路中,流入一个节点的电流总和等于流出该节点的电流总和。这反映了电荷守恒原理。 - **基尔霍夫电压定律...
在BAT(百度、阿里巴巴、腾讯)等互联网大公司中,SQL面试题是技术面试的重要组成部分,因为掌握SQL是任何数据库工程师或数据分析师的基础技能。以下是一些常见问题的详细解答: 1. **ID自增主键**:在MySQL中,...
C语言面试题及答案.doc 文件中涵盖了十一道关于C语言的面试题和答案,这些题目涉及到C语言的基础知识、变量、循环语句、函数、数据类型、存储方式等方面。 1、局部变量能否和全局变量重名? 局部变量可以与全局...