`

数组强制转型奇怪现象(T[] tArr = (T[]) new Object[1])

    博客分类:
  • Java
阅读更多

为什么可以,最主要原因就是java中的泛型采用的是擦除方案,在编译过后T被替换成了Object类型了,所以在运行不会报ClassCastException类型转换错误。

public class Test<T>
{
	public static void main(String[] args)
	{
		//转型错误ClassCastException
		//String[] strArr = (String[]) new Object[1];
		new Test<String>().test(new String("str"));
	}

	private void test(T t)
	{
		//奇怪:这样可以强制向下转型
		T[] tArr = (T[]) new Object[1];
		tArr[0] = t;
		System.out.println(tArr[0]);//str
		
		//泛型不能实例化,所以不能创建泛型数组
		//tArr = new T[1];
		
		//泛型不能实例化,所以不能实例化T类型
		//tArr[0] = new T();
	}
}
分享到:
评论
1 楼 ysen 2009-12-28  
我也纳闷 看了你的java泛型,说泛型数组不能强制向下转型,要用类型标志,再看到这你也觉得奇怪了吧

相关推荐

    json的解析

    Map&lt;Object, Object&gt; map = new HashMap&lt;Object, Object&gt;(); map.put("name", "Ren"); map.put("sex", "man"); map.put("age", 24); JSONObject obj = JSONObject.fromObject(map); System.out.println(obj); ...

    php过滤危险html代码

    )&gt;/isU", //过滤 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入&lt;object的过滤 "/(&lt;[^&gt;]*)on[a-zA-Z]+\s*=([^&gt;]*&gt;)/isU", //过滤javascript的on事件 ); $tarr = array( " ", ...

    php 过滤危险html代码

    #用户发布的html,过滤危险代码 复制代码 代码如下:function uh($str) { $farr = array( “/\s+/”, //过滤多余的空白 “/&lt;(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?... $tarr = array( ” “,

    jsonstream2:Dominic Tarr使用Rodd Vaggs的through2的JSONStream

    jsonstream2 的使用的 。 安装 npm install jsonstream2 例子 var request = require ( 'request' ) , JSONStream = require ( 'jsonstream2' ) , es = require ( 'event-stream' ) ... .... .... console ....

    二十三种设计模式【PDF版】

    o m m u n i c a t i n go b j e c t)的重复模式。这些模式解决特定的设计问题,使面向对象设计更灵活、优雅,最终复用性更 好。它们帮助设计者将新的设计建立在以往工作的基础上,复用以往成功的设计方案。 一个...

    json-readable-stream:JSONStream 的可读流版本 + 数组访问

    使用重新实现 Dominic Tarr 的模块。 通过依赖 ,这将允许更少的版本和升级摩擦。 另一个目标是通过路径中的语法提示提供对数组元素的轻松访问。

    用php过滤危险html代码的函数

    #用户发布的html,过滤危险代码 function uh($str) { $farr = array( “/\\s+/”, //过滤多余的空白 “/&lt;(\\/?)(scrīpt|i?...|\\%)([^&gt;]*?)&gt;/isU”, //过滤 ]*)on[a-zA-Z]+\\s*=([^&gt;]*&gt;)/is... $tarr = a

    PHP and MySQL 24-Hour Trainer.pdf

    Assuming no previous experience with PHP or MySQL, this book-and-video package is ideal reading for anyone who wants to go beyond ...

    SQL优化方法介绍.tar

    SQL优化方法介绍.taSQL优化方法介绍.tarr SQL优化方法介绍.tar SQL优化方法介绍.tar

    Westra E. - Python Geospatial Development, Third Edition - 2016.pdf

    ISBN 978-1-78216-152-3 Cover Image by Karl Moore (karl@karlmoore.co.uk) Credits Author Proofreaders Erik Westra Stephen Silk Katherine Tarr Reviewers Will Cadell Indexers Richard Marsden Hemangini ...

    scurry:leveldbs的一致哈希环

    Dominic Tarr的 ,使用他的来保持文档同步。 ,一种轻量且一致的哈希环结构,可以混合到大多数事物中。 为存储桶中的数据提供一个简单的RESTful api。加冰摇运行服务器: node index.js --id=node-one -m -p 3333 -...

    论文研究-基于用户签到关联信息的餐馆推荐算法融合策略 .pdf

    基于用户签到关联信息的餐馆推荐算法融合策略,银东,孟祥武,用户签到关联信息中蕴含着用户个性化偏好特征,通过对这些历史记录挖掘设计了AUPDM、TARR和GTRR三种餐馆推荐算法。这几种推荐算法在��

    patchbay:与Patchwork完全兼容的备用Secure Scuttlebutt客户端界面

    Patchbay由Dominic Tarr在Patchwork v1的生命尽头创建。 我们的看法是,维护大型客户端应用程序确实是一项艰巨的工作。 Patchbay旨在通过使用某种技术( )来避免这种情况,从而使零件更易于更换和扩展。 Patchbay...

    脉搏:视频心率监测器

    exe本地部署设置/ &gt; git clone https : // github . com / Greg - Tarr / Pulse/ &gt; cd Pulse/ &gt; pip install - r requirements . txt/ &gt; # install torch && torchvision from ...

    pipedreams1:管道NodeJS流的常见操作

    用生成的目录管道梦管道...问题PipeDreams是一个基于Dominic Tarr出色的构建的库,该库是“使创建和使用流变得容易的工具包”。 经过与ES和管道的合作,我很快发现ES.map ( data, handler ) -&gt; ...和ES.through on_

    robnetwork:稳健的精度矩阵估计

    稳健的精度矩阵估计 这是一个闪亮的应用程序,有助于估计稳健的正则化精确矩阵。...Tarr G、Müller S 和 Weber NC,(2015 年)。 细胞污染下精确矩阵的稳健估计。 计算统计和数据分析,出现。 DOI: Öllerer V 和

    MS 患者肠道菌群的改变-研究论文

    资金声明:这项工作得到了华盛顿大学圣路易斯临床和转化科学研究所的支持,资助,在部分,授权号 # UL1 TR000448] 来自美国国立卫生研究院、国家转化科学促进中心、临床和转化科学奖(Zhou Y、Piccio、L、Lovett-...

    Petrologic and geochemical characterization and mineralization of the metavolcanic rocks of the Heib Formation, Kid Metamorphic Complex, Sinai, Egypt (2011年)

    Metavolcanic rocks hosting base metal sulphide mineralization, and belonging to the Kid Metamorphic Complex, are exposed in the Samra-Tarr area, Southern Sinai. The rocks consist of slightly ...

    Izmir Perde Uzman Micro Jaluzi Perde -crx插件

    Genellikle mutfak,官方网站tarr olarak Stor Perdeürünleriçoksıkşekildekullanılmaktadır。 Günümüzdefirmamıztarafındangeliştirilenteknolojiler ile birlikteçokdaha kolay bir sistem ile ...

Global site tag (gtag.js) - Google Analytics