当前位置: 首页 > 知识库问答 >
问题:

对象数据类型和原语数据类型有什么区别?

宗政子辰
2023-03-14
Object name="Surendra";
Object age=27;
String name="Surendra";
int age=27;

共有1个答案

房冥夜
2023-03-14

当您这样做时:

Object name = "Surendra";
Object age = 27;  // Actually Integer here, not int

您正在将StringInteger转换为Object,这是完全安全的,因为String当然是ObjectInteger也是。但是,下面的代码不能编译,因为即使name存储字符串,java编译器对此一无所知。编译器在Object类中搜索名为Trim方法,但没有找到任何结果,因此它拒绝编译。对于age也是如此。

name.trim();  // Won't compile
age.longValue();  // Won't compile

何时使用对象?当你也不知道类型的时候。例如:

public static void foo(Object o) {
    if (o instanceof String) {
        String s = (String) o;
        // ...
    }
    if (o instanceof Integer) {
        Integer i = (Integer) o;
        // ...
    }
}
// These 2 are identical
Integer o1 = 0;  // Auto boxing
Integer o2 = Integer.valueOf(0);  // Boxing

// These 2 are identical
int i1 = o1;  // Auto unboxing
int i2 = o2.intValue();  // Unboxing

Integer o3 = null;  // Works
int i3 = null;  // Won't compile
 类似资料:
  • 问题内容: 什么是什么?有什么区别? 什么时候需要使用,什么时候需要作为数据类型? 因为for 和,所以有== ,== 。它们甚至具有相同的含义吗? 然后看一下,+ 3个字节,其中。 什么啊 问题答案: TEXT和CHAR将与它们与时间关联的字符集相互转换。BLOB和BINARY仅存储字节。 BLOB用于存储二进制数据,而Text用于存储大字符串。 BLOB值被视为二进制字符串(字节字符串)。它们

  • 所以我有了这个类,我想要一个接受int的方法,并创建一个这个大小的新数组。如果我声明 这将创建一个大小为10的数组。 我试过做

  • 本文向大家介绍什么是MySQL ENUM数据类型?使用ENUM数据类型有什么优势?,包括了什么是MySQL ENUM数据类型?使用ENUM数据类型有什么优势?的使用技巧和注意事项,需要的朋友参考一下 与标准数据类型不同,ENUM数据类型是1到65,535个字符串的枚举列表,指示字段的允许值。定义ENUM时,您将创建一个项目列表,必须从中选择该值(或者可以为NULL)。 例如,如果希望字段包含“ A

  • 问题内容: 如果有Wrapper类使Java成为纯面向对象的语言,那么为什么会有可在Java中使用的Primitive数据类型呢? 问题答案: 为了效率。基本类型的变量直接包含值。非基本类型的变量是引用,引用存储在内存中其他位置的对象。 每次您需要使用包装器类型的值时,JVM都需要在内存中查找对象以获取该值。对于原始类型,这不是必需的,因为变量本身包含值,而不是对包含该值的对象的引用。 但是,这不

  • 数据类型(DT)和抽象数据类型(ADT)的区别是什么?我看概念没有看出差异呢? 1、这里的差别就是一组性质相同的值的集合 和 数学模型 的区别吗,能否举例解释一下是什么差异呢? 2、数据类型是否是指的是比如:int 和 add()/ multi() 等?