`

关于判断一个Char数组属于基本数据类型,还是一个真正的对象

 
阅读更多

说明:该问题出自thinking in java

参考网上的一些回答:

判断纯对象的时候,首先排除数组, 标记
再排除一些枚举, 原始类型。
排除数组:1.obj.getClass().isArray判断

排除基本类型:2.obj.getClass().isPrimitive();

排除枚举:isEnum(),

排除注释:isAnnotation()。

经过尝试发现:

   1.调用isPrimitive()的时候返回值为false(不是基本数据类型);  

   2.调用isArray()的时候返回值是true。(不是一个真正的对象)

结论:Char数组不属于基本数据类型,也不是一个真正的对象类型。

至于为什么要排除数组,标记,枚举,原始类型,有待考察

分享到:
评论
2 楼 bsszds 2012-09-09  
调用isArray()的时候返回值是true,则说明是数组。
上面说了,判断纯对象的时候,首先排除数组, 标记
再排除一些枚举, 原始类型。
为什么要排除这些?我的理解是:
数组,标记,枚举,原始类型,这些不具有对象的基本特性:封装,继承,多态
所以要排除掉.
1 楼 商人shang 2012-09-08  
2.调用isArray()的时候返回值是true。( 不是一个真正的对象)

上面这句话是怎么说明其不是一个真正的对象的呢?我也是看到了这。。。

相关推荐

    java源码包2

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    你必须知道的495个C语言问题

    6.22 如何在一个文件中判断声明为extern的数组的大小(例如,数组定义和大小在另一个文件中)?sizeof操作符似乎不行。 6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢? 第7章 内存...

    leetcode算法题主函数如何写-Data-Structure:数据结构系统学习和实现

    每个基本数据类型都有对应的包装类:Boolean,Byte,Character,Short,Integer,Long,Float,Double 自动扩容 在添加元素时判断是空间已填满 若填满则按照原由的data.length()的两倍进行扩容 扩容原理: 生成新的data数组 ...

    Java之IO流学习总结

    该对象并不是流体系中的一员,其封装了字节流,同时还封装了一个缓冲区(字符数组),通过内部的指针来操作字符数组中的数据。 该对象特点: 该对象只能操作文件,所以构造函数接收两种类型的参数:a.字符串文件...

    《你必须知道的495个C语言问题》

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确...

    c++ 面试题 总结

    一个指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char,但是不能改变它指向非char对象,如: const char *p; char c1='a'; char c2='b'; p=&c1;//ok p=&c2;//ok *p=c1;//error (2)...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    你必须知道的495个C语言问题.pdf

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 1.26 main的正确定义是什么?void ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    9.1.5 当数组类型不再是基本数据类型 214 9.1.6 多维数组的clone()方法 217 9.2 老朋友String类 220 9.2.1 遍历String中的字符 220 9.2.2 获取字符串中的一部分 222 9.2.3 判断两个字符串是否相等 223 9.2.4 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    9.1.5 当数组类型不再是基本数据类型 214 9.1.6 多维数组的clone()方法 217 9.2 老朋友String类 220 9.2.1 遍历String中的字符 220 9.2.2 获取字符串中的一部分 222 9.2.3 判断两个字符串是否相等 223 9.2.4 ...

    java源码包---java 源码 大量 实例

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    C语言FAQ 常见问题列表

    o 7.1 我在一个源文件中定义了 char a[6], 在另一个中声明了 extern char *a 。为什么不行 ? o 7.2 可是我听说 char a[ ] 和 char *a 是一样的。 o 7.3 那么, 在 C 语言中 ``指针和数组等价" 到底是什么意思 ? ...

    c# 加密和解密相关代码

    向散列函数得到一个固定长度的散列值,数据块的签名就是计算数据块的散 列值,MD5 算法的散列值为128 位。本实例演示如何使用MD5 算法对用户 输入的密码进行加密,实例运行效果如图19.2 所示。 关 键技术 本实例在...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    数据类型和对象 33 整型常量和浮点型常量 34 double类型的运算 34 数据类型和运算 35 类型转换 37 转换说明 39 总结 42 第3章 分支结构程序 45 3-1 if语句 46 if语句·其1 46 奇数的判定 47 if语句·其2 ...

    java面试题

    int和Integer有什么区别? 答:int是java的原始数据类型,Integer是java为int提供的封装类... 答:基本数据类型8种:int、short、byte、long、float、double、char、boolean String不是基本数据类型,引用数据类型。 ...

    数据结构(C++)有关练习题

    内容及步骤: 1、 设计一个图的类,采用临接表法进行存储,该图每个结点的数据类型类模板的模板参数进行定义(注:需先设计一个结点类Node); 2、 为该类分别设计一个实现深度优先搜索和广度优先搜索的成员...

    11.第十一章 指针.txt

    在C语言中,一种数据类型或数据结构往往占有一组连续的内存单元,用指针描述一个数据结构的首地址,该指针指向这个数据结构。 11.2 指向变量的指针 #include int main() { int i=1,*pi=&i; printf("%d",sizeof...

    java源码包3

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

Global site tag (gtag.js) - Google Analytics