0 0

泛型的一些问题5

现在有一个方法返回的是一个Object,后面被调用的时候被转化成List,这时编译器warning 说 “Unchecked cast from Object to List<T>”,这个该怎么才能去掉啊?executeStatement方法返回的必须是Object

public Object executeStatement(T clazz, Map<String, Object> oMap)
{
    Object object = null;
    List<T> oList = new ArrayList<T>();
    oList = popluateRecordToObject(rs, oList);
    object = oList;
    return object;
}

public  List<T> queryForList(final Class<T> clazz, Map<String, Object> oMap)
{
   List<T> result = (List<T>)executeStatement(clazz, oMap);
   return result;
}
2008年12月11日 14:37

4个答案 按时间排序 按投票排序

0 0

采纳的答案

hmm,这段代码本身能编译通过么?queryForList里的clazz是Class<T>的,而executeStatement的第一个参数是T,不匹配诶。

根据文档,Java里做cast的时候如果目标类型是泛型类型的话就会出现unchecked warning。如果那个cast是符合自己的意图的,可以用@SuppressWarnings("unchecked")标注来去掉这个warning(但操作本身仍然是潜在不安全的)。

2008年12月11日 15:36
0 0

自动的upcast只说明executeStatement里可以直接return oList;,跟这里的警告没任何关系……

2008年12月11日 20:31
0 0

别画蛇添足

java 是可以自动向上转型的!

2008年12月11日 19:21
0 0

这个不是错误,只是提示你这个造型不知道是不是正确的。你可以点击旁边的那个提示,选择其中一个包含‘unckeck’的语句,点击加上注解就不会出现提示了

2008年12月11日 15:14

相关推荐

    C#泛型类、泛型方法、泛型接口、泛型委托的实例

    本文将深入探讨泛型类、泛型方法、泛型接口和泛型委托,并通过实例来阐述它们的应用。 首先,我们来看泛型类。泛型类是具有一个或多个类型参数的类。类型参数是在定义类时使用的占位符,实际的类型在创建类的实例时...

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    泛型java的泛型知识,非常有用

    Java 泛型是一种强大的语言特性,自JDK 5.0引入以来,极大地提升了代码的类型安全性以及重用性。泛型允许我们在类、接口和方法中使用类型参数,这样在编译时期就能检查类型匹配,减少运行时类型转换异常。 1. **...

    【Flutter】Dart 泛型 ( 泛型类 泛型方法 特定类型约束的泛型 ).zip

    【Flutter】Dart 泛型 ( 泛型类 | 泛型方法 | 特定类型约束的泛型 ) https://hanshuliang.blog.csdn.net/article/details/114059611 博客源码快照

    JAVA-泛型课件-泛型课件

    泛型是Java语言的一个重要特性,首次出现在Java SE 1.5版本中。它的引入主要是为了解决在集合操作中类型安全性的问题,并通过引入参数化类型的概念,提高了代码的复用性与可读性。 ### 泛型概念 泛型,即参数化...

    泛型学习和泛型接口和泛型经典示例

    泛型学习和泛型接口和泛型经典示例

    关于java基础的泛型的练习

    - 由于泛型的类型擦除,可能会出现“野指针”问题,即编译器无法检测到某些可能的类型错误。 - 如果需要,可以在运行时通过强制类型转换获取原始类型,但这样会丢失泛型带来的类型安全性。 8. 泛型和实例化: - ...

    VC++ 2005:泛型编程

    编译时泛型类似于C++中的模板,通过编译时实例化来处理不同类型,而CLI泛型则在运行时进行实例化,这使得泛型类型的实例化延迟到JIT编译阶段,从而避免了可能的代码膨胀问题,并且提供了丰富的元数据用于反射。...

    Java 泛型擦除后的三种补救方法

    为了解决这个问题,我们可以采用三种设计模式:简单工厂、工厂方法和模板方法。 1. **简单工厂**: 简单工厂模式通过一个静态方法返回一个具体类型的实例。这种方法的优点是简洁,可以直接使用泛型方法。但是,它...

    C#泛型集合与非泛型集合

    1. **性能问题**:由于非泛型集合存储的是 `object` 类型,这意味着当向集合中添加基本类型(如 `int`)时,这些类型会被装箱为引用类型。而在取出时,又需要进行拆箱操作。装箱和拆箱过程中会产生额外的内存分配和...

    泛型笔记学习2009

    泛型是Java语言的一个重要特性,它主要解决了在集合框架中频繁出现的类型转换问题,同时也增强了类型安全性。泛型的概念最早出现在Java 5.0版本中,它允许开发者创建能够以类型参数化的类、接口和方法。 #### 泛型...

    java泛型指南 经典

    ### Java泛型指南经典知识点解析 #### 一、引言 Java 1.5 版本引入了一系列重要的语言特性,其中“泛型”是其中一项关键特性。泛型的引入极大地提高了 Java 语言的类型安全性和代码重用性。本文档旨在深入探讨 ...

    c#泛型类、泛型方法、泛型接口、泛型委托

    泛型主要分为四个关键部分:泛型类、泛型方法、泛型接口和泛型委托。下面将详细介绍这四个方面。 1. 泛型类: 泛型类是具有一个或多个类型参数的类。这些类型参数是占位符,代表一种未知的数据类型,直到在创建类...

    SSH泛型代码实例

    SSH泛型代码实例是关于Java编程中的一种常见技术——Spring、Struts和Hibernate(SSH)框架结合使用泛型的应用示例。泛型是Java SE 5.0引入的一个重要特性,它允许在编译时检查类型安全,并且所有的强制转换都是自动...

    java 1.5泛型详解

    Java泛型是自Java 1.5版本引入的一项重要特性,极大地提高了代码的类型安全性和重用性。本文将深入探讨Java泛型的概念、优点、使用方式及其在实际开发中的应用。 **一、泛型的基本概念** 泛型是Java语言中的一种...

    C#泛型,非泛型实现枚举

    在C#编程中,泛型和枚举是两种非常重要的概念。泛型提供了一种方式,使得代码可以处理多种数据类型,而无需为每种类型重复编写相同逻辑。枚举则是用于定义一组预定义的常量,便于表示一组相关的值。下面我们将详细...

    Generic_2(泛型类-泛型方法-泛型接口-泛型限定(上限)

    泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是...

    gson解析泛型和将泛型转为json字符串

    本文将深入探讨如何使用Gson处理泛型,并将其转换为JSON字符串。 首先,理解泛型在Java中的作用是至关重要的。泛型允许我们在类、接口和方法中使用类型参数,从而提高了代码的类型安全性和重用性。当我们使用Gson与...

Global site tag (gtag.js) - Google Analytics