`

java陷阱-------Char类型惹的祸

    博客分类:
  • J2SE
阅读更多
public class Test {
	private static Random rnd = new Random();
	public static void main(String[] args) {
		StringBuffer word = null;
		switch(rnd.nextInt(2)){
		case 1:word = new StringBuffer('P');break;
		case 2: word = new StringBuffer('G');break;
		default:word = new StringBuffer('M');
		}
		word.append('a');
		word.append('i');
		word.append('n');
		System.out.println(word);
	}
}

打印出来是: ain
疯了。。。new StringBuffer()没起作用哈。。。
为什么呢?
因为Char在这些时候都传换成int ,而StringBuffer(int capacity)是接受一个int作为容量,所以当然没用啦。。。。。。


改成字符串把。。。。new StringBuffer("P");
分享到:
评论

相关推荐

    java陷阱--面试(题集)杂谈

    第三十一,switch不能作用于byte上,但Java 7以后可以作用于char、byte、short、int以及枚举类型;不能作用于long,但可以作用于String(Java 7以后)。 第三十二,Singleton模式是一种设计模式,确保一个类只有一...

    V20-Java笔记整理-重要概念和常见陷阱梳理.docx

    ### Java重要概念与常见陷阱梳理 #### 一、Java简介 **1.1 Java体系分类** - **JavaSE(Java Platform Standard Edition)**: 标准版,主要用于开发桌面应用程序。 - **JavaEE(Java Platform Enterprise Edition...

    Java基础方面陷阱.

    综上所述,Java基础方面的陷阱涵盖了语法理解、数据类型使用、运算符和流程控制的误用、异常处理的不当、内存管理的误区,以及面向对象设计原则的应用等多个方面。通过深入学习和实践,可以有效地避免这些陷阱,提升...

    lesson03-02 Java类基础知识--基本类型.ppt

    Java语言的基础知识中,...总之,熟练掌握Java中的基本类型及其特性和运算规则是编程基础,有助于避免陷阱,提高代码质量。在实际编程中,应根据具体需求选择合适的数据类型,并灵活运用各种运算符,以实现预期的功能。

    java SE(入门知识4)原生数据类型使用陷阱.docx

    在Java编程语言中,原生数据类型(primitive data type)是程序设计的基础,包括了byte、short、int、long、float、double、char以及boolean这八种。它们各自有不同的存储大小和取值范围,每种类型都有其特定的用途...

    java陷阱一箩筐 面试笔试试题

    【Java 陷阱与面试知识点详解】 ... - 在 Java 7 以后,switch 支持 byte、char、short、int、枚举类型和 String。 以上是对 Java 面试题中涉及的知识点的详细解释,涵盖了许多基础概念和高级特性,有助于面试准备。

    Java各种类型转换md,学习代码

    【Java】各种类型转换 在Java编程中,类型转换是必不可少的一部分,特别是在处理不同数据类型的交互时。Java提供了两种主要的类型转换方式:自动类型转换(隐式转换)和强制类型转换(显式转换)。以下将详细介绍这...

    Java陷阱一箩筐笔试题

    - Java 7以后,switch支持byte、char、short和枚举类型,但不包括int以上的大整型。 这些知识点涵盖了许多Java的基础和进阶概念,是面试中常见的问题,掌握它们对于理解和使用Java语言至关重要。

    Java零基础-参数传递-2.md

    在Java中,根据数据类型的不同,参数传递主要分为两大类:基本类型(如`int`, `float`, `char`等)和引用类型(如数组、自定义类等)。 - **基本类型的参数传递**:当一个基本类型的变量被传递给一个方法时,实际上...

    Java陷阱一箩筐.doc

    【Java陷阱一箩筐】 Java 语言中包含许多微妙的概念和陷阱,对于开发者来说,理解这些概念至关重要。以下是一些常见的 Java 面试题及详细解释: 1. **final, finally, finalize的区别**: - `final`:用于声明...

    Java零基础-参数传递-1.md

    Java中存在八种基本类型,包括整型(`byte`, `short`, `int`, `long`)、浮点型(`float`, `double`)、字符型(`char`)和布尔型(`boolean`)。当这些类型的数据作为参数传递给方法时,实际上是将这些值的副本传递...

    理解java中的基本数据类型

    本文将深入探讨Java中的八种基本数据类型:`boolean`、`byte`、`short`、`int`、`long`、`char`、`float`以及`double`,并结合实例来解释这些类型的特点及其在实际编程中的应用。 #### 1. `boolean` `boolean`类型...

    Java 面试中的陷阱

    31. **switch语句**:在Java 7及以后版本,switch可以用于byte、char、short、int、枚举类型和String。 32. **Singleton模式**:设计模式之一,确保一个类只有一个实例,并提供全局访问点。 理解这些Java面试中的...

    java陷阱之自动装箱共2页.pdf.zip

    自动装箱是指Java编译器自动将基本数据类型(如int、char、boolean等)转换为它们对应的包装类(如Integer、Character、Boolean等)的过程。反之,自动拆箱则是将包装类对象转换回基本数据类型。例如,当我们把一个...

    Java Scjp 陷阱大全.doc

    6. **字节码范围**:在switch语句中,case标签的值必须是byte、char、short或int类型的,且须在允许的范围内。超出范围会导致编译错误。 7. **Math类的特性**:`Math`类是不可变的,它的所有方法都是静态和final的...

    C++大学教程,一本适合初学者的入门教材(part1)

    11.3.3 输出char类型的变量 11.3.4 用成员函数put输出字符和put函数的连续调用 11.4 输入流 11.4.1 流读取运算符 11.4.2 成员函数get和getline 11.4.3 istream类中的其他成员函数(Peek、Putback和ignore)...

    Java 自动转换的资源

    Java 自动转换是Java编程语言中的一个重要特性,它涉及到类型转换、自动装箱与拆箱、数据类型提升等多个方面。在Java中,自动转换极大地方便了开发人员处理不同类型的数据,提高了代码的可读性和效率。以下是关于...

    java小结

    ### Java基础知识精要 #### 一、关键字与标识符 - **关键字**: 在Java中具有...掌握了这些概念后,你可以更好地理解和编写Java代码,同时也能避免一些常见的错误和陷阱。记住,良好的编码习惯始于对基础的扎实掌握。

    圣思园Java视频全套链接

    - **原始数据类型介绍**:解释Java中的基本数据类型,如int、double、char等,以及它们的特点和用途。 - **使用陷阱详解**:探讨在使用原始数据类型时可能遇到的问题,比如溢出错误、精度损失等,并提供相应的解决...

    圣思园java视屏

    - **字符型**:`char`类型,用于存储单个字符。 - **布尔型**:`boolean`类型,只有两个值`true`和`false`。 #### 原生数据类型的使用与陷阱 - **知识点概述**:虽然原生数据类型简单直观,但在实际使用过程中仍...

Global site tag (gtag.js) - Google Analytics