类型安全

问题描述

我在看泛型的,书上说泛型能保证类型安全,可类型安全究竟是这么回事啊

解决方案

解决方案二:
我的理解不知道是不是这个意思,范型可以定义类型,这样就保证了对象的类型安全,例如java.util.Listlist=newjava.util.ArrayList()是没有定义对象范型类型的,这样什么类型都可以add进去,取出来也需要判断并转换类型,同时也就暴露对象换类型。如果写成java.util.List<BaseType>list=newjava.util.ArrayList<BaseType>(),插入和取出来只能有BaseType这个类型对象了,任何操作该对象都只能接受BaseType这个类型。
解决方案三:
使用泛型如果类型不符,那么编译阶段就会报错,不使用则运行阶段才会报错,通过这个机制就能确保类型正确性
解决方案四:
哦,我似乎明白了。对了,java是不是不太适合做桌面应用啊

时间: 2016-06-28

类型安全的相关文章

Java语言的接口与类型安全

安全 接口是实现构件可插入性的关键,可插入构件的关键在于存在一个公用的接口,以及每个构件实现了这个接口. 什么是接口? Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构:二,一个类所具有的方法的特征集合,是一种逻辑上的抽象.前者叫做"Java接口",后者叫做"接口&qu

漫谈Java语言的接口与类型安全

安全 接口是实现构件可插入性的关键,可插入构件的关键在于存在一个公用的接口,以及每个构件实现了这个接口. 什么是接口? Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构:二,一个类所具有的方法的特征集合,是一种逻辑上的抽象.前者叫做"Java接口",后者叫做"接口&qu

Swift语言指南(四) Swift语言的类型安全和类型推断

Swift是一门类型安全语言,类型安全语言需要代码里值的类型非常明确.如果你的代码中有部分值需要String类型,你就不能错误地传递Int. 鉴于Swift的类型安全,编译代码时,Swift会执行类型检查并将任何类型不匹配的地方标记为错误,使你在开发当中尽可能早的捕获并修正错误. 类型检查有助于你在操作不同值的类型时避免犯错.但这并不意味着你必须在声明每一个常量或变量时去检查类型,如果你不检查所需值的类型,Swift会执行类型推断来计算出相应地类型. 类型推断让编译器在编译代码时,根据你提供的值

类型安全的EventHandlerList

我们写一个类时,有时候会在同一个类上添加很多事件,事件很多的话,是不 容易管理的,.NET提供的EventHandlerList可以辅助多个事件的管理,但不方便 的地方是,它不是类型安全的,缺少类型安全,多少用起来担心会出错.经过我的 一番改造,可以将系统提供的EventHandlerList通过泛型提供类型安全的管理. 泛型类EventHandlerList.cs的实现如下: public sealed class EventHandlerList<T> : IDisposable { Li

让TList类型安全

在VCL中包含有一个TList类,相信很多朋友都使用过,它可以方便的维护对象指针,所以很多朋友都喜欢用它 来实现控件数组.不幸的是,这个TList类有一些问题,其中最重要就是缺乏类型安全的支持. 这篇文章介绍如何从TList派生一个新类来实现类型安全,并且能自动删除对象指针的方法. TList的问题所在 对于TList的方便性这里就不多说,我们来看一下,它到底存在什么问题,在Classes.hpp文件中,我们可以看到函数的原型是这样申明的: int __fastcall Add(void * I

JPA 2.0中的动态类型安全查询

自从 JPA 于 2006 年首次被引入之后,它就得到了 Java 开发社区的广泛支持.该规范的下一个主要更新 -- 2.0 版本 (JSR 317) -- 将在 2009 年年底完成.JPA 2.0 引入的关键特性之一就是 Criteria API,它为 Java 语言带来了一种独特的能力:开发一种 Java 编译器可以在运行时验证其正确性的查询.Criteria API 还提供一个能够在运行时动态地构建查询的机制. 本文将介绍 Criteria API 和与之密切相关的 元模型(metamo

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.4.4 序列化单例和类型安全的枚举

2.4.4 序列化单例和类型安全的枚举 在序列化和反序列化时,如果目标对象是唯一的,那么你必须加倍当心,这通常会在实现单例和类型安全的枚举时发生. 如果你使用Java语言的enum结构,那么你就不必担心序列化,它能够正常工作.但是,假设你在维护遗留代码,其中包含下面这样的枚举类型: 这种风格在枚举被添加到Java语言中之前是很普遍的.注意,其构造器是私有的.因此,不可能创建出超出Orientation.HORIZONTAL和Orientation.VERTICAL之外的对象.特别是,你可以使用=

Matlab与.NET基于类型安全的接口混合编程入门

原文:[原创]Matlab与.NET基于类型安全的接口混合编程入门 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标.  [原创分享]Matlab.NET混编调用Figure窗体 http://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html   [原创]开源.NET下的XML数据库介绍及入门  http://www.cnblogs.com/asxinyu/archive/2013/03/25/2980086.

【原创】Matlab与.NET基于类型安全的接口混合编程入门

              本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html    Matlab和C#混合编程文章目录 :http://www.cnblogs.com/asxinyu/p/4329753.html 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标.  [原创分享]Matlab.NET混编调用Figure窗体 http://www.cnblogs.com/asxinyu/archive/2