`

关于强制类型转换的小问题

阅读更多
    记得有此去面试,是在Linux下使用文本编译器写程序。关于泛型的那点一直有问题。我当时是想把定义一个存储int类型的泛型变量,
List<int> list = new ArrayList<int>();
但是编译就出错,有没有报错信息,所以我一直没有搞明白哪里出错了。
    今天读一个java方面的书的时候,再次留意到这个问题。就试验了一下,
   
public class Employee {
	private String name;
	private int salary = 15000;

	public Employee(String name) {
		this.name = name;
	}

	
	
	public Object getSalary() {
		return salary;
	}



	public void setSalary(int salary) {
		this.salary = salary;
	}



	public boolean equals(Employee employee) {
		return this.name.equals(employee.name);
	}
}

	public static void main(String[] args) throws Exception {
		Employee employee = new Employee("sun");
		int salary = (int) employee.getSalary();
		
		System.out.println(salary);
	}


    运行的时候发现报Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot cast from Object to int错误。
    我分析了一下,因为我返回的是Object对象,它是一个对象类型,但是int是java内置的基本数据类型,所以无法强转,即使是返回的数据确实int类型的,但是方法的返回值类型是Object的,所以我们要用这个返回值,只能把他强转成Integer类型。所以基本数据类型在一系列的转换步骤是int-->Object-->Integer-->int,在使用泛型的时候也不能使用基本数据类型。所以如果要生成一个存储int类型的List,可以这样声明List<Integer> list = new ArrayList<Integer>();
分享到:
评论

相关推荐

    浅谈Java中强制类型转换的问题

    下面小编就为大家带来一篇浅谈Java中强制类型转换的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java中各个数据类型之间的转换

    强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。 转换规则 从存储范围大的类型到...

    C#中的自动类型转换和强制类型转换

    前面已经认识了不同的数据类型,你们有没有尝试过让不同的数据类型进行运算呢? int a = 1; double b = a; Console.WriteLine(b);...试想,生活中我们把小盒子里的东西放进大盒子里,是没有问题的

    java中long类型转换为int类型

    如果是 long转int (64位强制转32位,可能会出现溢出的问题,这个就看这个数字是不是够大了,如果比较大那就可能溢出,如果数字比较小,强制转换不会溢出) 但是用long转int可能会出现这个问题,所以不建议向下强制...

    面向对象编程解决海盗分金问题

    这是一个面向对象编程方法的经典示例,虽然现在看起来,有些地方还不够完美(比如,不用泛型,而采用了强制类型转换),但也够一些小兄弟们参考学习之用了。不做修改的发上来,原汁原味地呈现给大家,希望引起大家对...

    小日本视频转换器

    3)手工强制设定帧类型:手工设定需要精细编码的画面帧为I帧。结合MVBR码流控制可以全面控制码流分配。 D、量化矩阵 mpeg中的量化是对8x8 YUV 信号图块进行DCT变换之后的系数的量化。通过对高频分量使用比较大的...

    C# 除法需要注意的问题

    采用除法,需要注意的一些问题,以及使用(int)强制类型转换时的一些特性。

    收集的常见的专业问题解决办法.rar

    2009-02-24 08:52 156256 34316 常见的专业问题解决办法\Java中的强制类型转换_Believe ┭┮ YourSelf.mht 2009-02-24 08:31 61003 61003 常见的专业问题解决办法\Java容器类List、ArrayList、Vector及map、...

    C语言程序题

    3.强制类型转换(将浮点型x=3.6 4..符号常量的作用.(求单价为30,数量为10的总价) 5.编写程序,求二个正整数最大的公约数和最小公倍数 6.程序功能:打印水仙花数 7.编写程序,对空格、制表符和换行符进行计数 8.并...

    python基础入门(超详细).pdf

    输出类型 a = 10 print(type(a)) #int整形,str字符串 #强制类型转换 a = str("123") print(type(a)) 3.if语句: #if elif else条件判断语句,if语句嵌套,注意缩进 a = 21 if a&gt;1 and a("是的") elif a &gt;15 and a(...

    c++笔试题精选

    c++笔试题 1.虚函数的使用以及虚继承相关知识。最好是面试相关的一些虚函数问题,深入一些 2.隐藏,覆盖,区别,深入理解。 3.函数指针,指针函数,深入理解。...7.C++四种强制类型转换。 8.类模板,模板类

    判断机器大小端的两种实现方法

    第一种方法,思路:利用指针的强制类型转换。第二种方法,思路:利用共用体所有数据都从同一地址开始存储。

    java编程常见问题

    该异常经常被称为强制类型转换异常。 45.java.lang.ClassNotFoundException 找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。 46.java.lang....

    C#泛型简介

    本页内容简介泛型问题陈述什么是泛型应用泛型一般约束泛型和强制类型转换继承和泛型一般方法一般委托泛型和反射泛型和.NETFramework小结简介泛型是C#2.0的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须...

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

    我试了类型转换,但是不行。 第5章 空指针 空指针和空指针常量 5.1 臭名昭著的空指针到底是什么? 5.2 怎样在程序里获得一个空指针? 5.3 用缩写的指针比较“if(p)”检查空指针是否有效?如果空指针的内部表达不是0...

    C语言与数据结构

    2)C语言运算丰富,将括号、赋值、强制类型转换、取变量地址等都以运算实现。 3)C语言数据类型丰富,具有现代语言的各种数据类型,用户还能扩充它,实现各种复杂的数据结构,完成各种问题的数据描述。 4)C语言是一种...

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

    我试了类型转换,但是不行。 52 第5章 空指针 53 空指针和空指针常量 53 5.1 臭名昭著的空指针到底是什么? 53 5.2 怎样在程序里获得一个空指针? 54 5.3 用缩写的指针比较“if(p)”检查空指针是否有效?...

Global site tag (gtag.js) - Google Analytics