首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java:泛型不适用于我的方法,我还能做什么?

Java 泛型不适用于你的方法,那么你可以考虑以下解决方案:

  1. 使用非泛型方法:如果你不需要使用泛型,你可以使用非泛型方法。这可以通过将泛型类型参数替换为实际类型参数来实现。
  2. 使用私有类:如果你需要使用泛型,但希望避免泛型类型参数在类中公开,你可以使用私有类。这可以通过在类声明中使用 private 关键字将类定义为私有来实现。
  3. 使用独立类:如果你需要使用泛型,但希望将泛型类型参数保持在类中,你可以使用独立类。这可以通过将类声明为独立的,将泛型类型参数作为类参数传递给类来实现。
  4. 使用类型擦除:如果你需要使用泛型,但希望将泛型类型参数从类中擦除,你可以使用类型擦除。这可以通过使用 Java 中的反射机制来实现。

以上方案都有各自的优缺点,你需要根据实际需求选择最适合的方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 简介 ( 类 | 方法 | 静态方法 | 类与方法完整示例 )

文章目录 一、简介 二、类 三、方法 四、静态方法 五、类与方法完整示例 一、简介 ---- 可以 简单理解为 参数化类型 , 主要作用在 类 , 方法 , 接口 上...; java 与 C++ 模板 : Java , 是仿照 C++ 中 模板 开发 , 目的是让开发者可以写出 通用 , 灵活 代码 ; 伪 : Java , 是 伪..., Java 开发好之后 , 在 编译阶段 就 将相关信息消除 了 , 不会留到运行时 ; 类型 : 方法 : 方法有参数 , 方法参数 可以指定成一些 ; 类 :...作用 : 安全检查 : 在 编译阶段 , 就可以进行 代码检查 , 将更少错误带到运行时 ; 避免强转 : 避免 类型强转 导致不必要安全问题 ; 提高性能 : 使用可以 提高 Java...; 方法类 中 : 不同 : 方法指定 T 与 类中 T 没有任何关系 , 这两个 T 可以是不同类型 ; 相同 : 方法中定义 T

13.6K30

Java详解:和Class使用。类,方法详细使用实例

[java]     view plain     copy    Integer integerX=(Integer)integerPoint.getX();    由于我们设置时候,是设置...举个粟子,我们在Point上再另加一个字段name,也来表示,那要怎么做?...      与定义一样,也是在接口名后加尖括号; (1)、使用方法一:非类 但是在使用时候,就出现问题了,我们先看看下面这个使用方法:      [java]     view plain...,主要是要使用参数对象,而不是上面的那个使用参数类Class   方法提出来,主要是因为,直接使用list类addAll()方法,如果添加是null,那么就会抛异常。...但是总不能在所有使用地方,都判断一下要添加参数是不是null,然后再调用listaddAll()方法吧。那样的话,这样判断代码会啰嗦海了去了。所以,就这么提出来了。

3.2K50

【说站】java方法语法使用

java方法语法使用 说明 1、方法语法包括类型参数列表(在尖括号中),它出现在方法返回类型之前。 对于静态方法,类型参数必须出现在返回类型之前。...2、方法是引入自己类型参数方法。 这类似于声明类型,但类型参数作用域仅限于声明方法。允许使用静态和非静态方法以及数。... = value; }     public K getKey()   { return key; }     public V getValue() { return value; } } 以上就是java...方法语法使用,希望对大家有所帮助。...更多Java学习指路:Java基础 本教程操作环境:windows7系统、java10版,DELL G3电脑。 收藏 | 0点赞 | 0打赏

33020

Java详解——绝对是对方法讲解最详细,没有之一!

概述 java中有很重要地位,在面向对象编程及各种设计模式中有非常广泛应用。 什么是?为什么要使用,即“参数化类型”。...通过上面的例子可以证明,在编译之后程序会采取去措施。也就是说Java,只在编译阶段有效。...;当操作类型时,不需要使用类型具体功能时,只使用Object类中功能。那么可以 ? 通配符来表未知类型。 4.6 方法java中,定义非常简单,但是方法就比较复杂了。...光看上面的例子有的同学可能依然会非常迷糊,我们再通过一个例子,把方法再总结一下。...key; public Generic(T key) { this.key = key; } //想说其实是这个,虽然在方法中使用了

3.6K22

Java详解——绝对是对方法讲解最详细,没有之一!

概述 java中有很重要地位,在面向对象编程及各种设计模式中有非常广泛应用。 什么是?为什么要使用,即“参数化类型”。...通过上面的例子可以证明,在编译之后程序会采取去措施。也就是说Java,只在编译阶段有效。...;当操作类型时,不需要使用类型具体功能时,只使用Object类中功能。那么可以 ? 通配符来表未知类型。 4.6 方法java中,定义非常简单,但是方法就比较复杂了。...光看上面的例子有的同学可能依然会非常迷糊,我们再通过一个例子,把方法再总结一下。...key; public Generic(T key) { this.key = key; } //想说其实是这个,虽然在方法中使用了

49010

java 详解-绝对是对方法讲解最详细,没有之一「建议收藏」

大家好,又见面了,是你们朋友全栈君。 对java特性了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解用法,才想起详细记录一下。...本文参考java 详解、Java方法java详解 1. 概述 java中有很重要地位,在面向对象编程及各种设计模式中有非常广泛应用。 什么是?...通过上面的例子可以证明,在编译之后程序会采取去措施。也就是说Java,只在编译阶段有效。...;当操作类型时,不需要使用类型具体功能时,只使用Object类中功能。那么可以 ? 通配符来表未知类型。 4.6 方法java中,定义非常简单,但是方法就比较复杂了。...光看上面的例子有的同学可能依然会非常迷糊,我们再通过一个例子,把方法再总结一下。

54010

Asp.Net Core SignalR Hub优雅调用前端方法及传参

大家都知道SignalR Core除了可以建立websocket连接,还能双向调用,服务器调用客户端方法,客户端也能调用服务器方法。...而且不变维护,相当于你要把方法名硬编码,传递多少个参数也没有个准,没有好文档后期很难维护。好在微软已经为我们考虑到了这个情况,我们可以把客户端方法接口方法定义了!!!对!...没错,接口方式定义客户端方法!!...是客户端方法,会通过websocket传递到前端,下图为小程序通讯产生结果: ?...LooK,方法名没有改变,但是我们返回参数成了一个对象,如果看过之前那篇博文的话,应该记得在前端时候,需要做一个映射,来调用前端方法,在映射中,参数使用是数组进行传递,现在不需要去看数组中第几个参数是需要使用

2.3K40

移花接木:当方法遇上抽象类----“内存数据库”诞生记

/ 从数据文件载入实体数据(不会影响内存数据),建议使用Get方法  3         ///   4         /// </typeparam...SaveEntity 方法无法编译通过,VS给出错误提示 “必须是具有公共无参数构造函数非抽象类型,才能用作类型或方法”SaveEntity>(T[] entitys)中参数“T”, 于是改一下保存数据方法...但序列化实体类方法无法编译通过: byte[] buffer = PdfNetSerialize.BinarySerialize(entitys); BinarySerialize 方法也要求类类型...这样就解决了类不能使用抽象类类型问题,但这里怎么可能拿得到呢?...虽然我们在运行时,我们能够确切看到 item 变量对应对象具体类型,但我们代码在这里却没法给方法类型一个交代,这可怎么办呢?

1.3K50

声明方法java实际开发中使用需要注意一些问题

在写这篇文章之前,xxx已经写过了几篇关于改声明方法主题文章,想要了解朋友可以去翻一下之前文章 1.Map 声明类型必须是类,不能是基本类型。...但是当编译器完成对带有java程序后,生成class文件中是不带有信息,这个进程称之为“擦除”。这样可以避免影响程序运行效率。...4.当自定义一个方法中带有多个时,其声明格式为: Public void method(T t,E e,F f){} 5.当一个方法为static时,那么这个静态方法就不能使用在类上声明...,只能在自己方法上进行声明。...,涌现位置应当紧挨在返回类型前面。

43710

根据java编译器规则在Class中搜索匹配指定参数类型表方法(GenericMethod)

因为项目的需要,设计了一个满足特定需要代码自动生成工具。在开发过程中需要根据方法名和方法参数类型数组在指定类中根据java编译器规则找到与之最匹配方法。...当然java器肯定知道,但它是什么规则进行匹配呢?...关于方法匹配方式做了研究,发现java编译器在匹配方法时,对参数匹配是遵循从左到右顺序来一个个检查,根据这个规则写了下面的方法来实现方法精确匹配。...ArrayList(); //查找同名且参数数目相同所有方法 for (java.lang.reflect.Method...,可能会出现返回并不匹配方法结果,不过在应用场景中有别的措施做了保证,所以不会有问题,你可以根据自己需要再补充一些检查代码。

1.6K30

Java 最困扰你那些事

啊哈Reddit(某知名国外在线问答社区),没了你我们还能在哪里从鱼目混珠网络中提炼真正精华?就在这杂乱无章论坛中,的的确确存在着这样一些精辟讨论。...还希望 Java 可以支持智能打包返回值,这样我们就可以像在Perl中那样返回一个包含多个值列表了。 希望使用异常标准库还可以在不适合抛出异常场景下使用并能够处理失败。...这样一来还得费劲去给类取一个方便理解名字……本来这事儿可以很简单(这确实很简单, 尤其是当你可以定义宏时候)。 有没有搞错 缺乏对支持。C++ 中模板要强大多。...事实上,在Java 中你根本不能在中实例化一个类,除非你把这个类作为参数来声明一个。 你很难给一个类加上结构函数并让它销毁这个类。RAII(一种资源管理模式,见 C++)却一直非常有用。...明白他们为什么存在(而且理论上也说通),但是他们没为开发者带来什么实质好处。不论你做什么,都不要留一个空catch 块,就算你认为这个异常永远不会发生。

82680

答知友困惑:Java零基础如何入门,不知道怎么学,迷茫ING

所以,我们学习Java目标就是把自己培养成微服务的人才。虽然,Android开发,部分前端也是Java,但是结合你实际情况,还是建议往微服务领域走了,也就是Java后端。...、抽象类定义及实现 类、方法 集合:集合接口、列表、Map、树、排序和查找 异常与调试:内置异常、声明异常、自定义异常、捕获异常、日志 多线程:多线程概念、使用线程、同步 关于Spring...---- 知友:再说个开发以外吧,根据之前也找到了自己缺点应该在编程上会有障碍吧,做事呢不考虑后果严重性,缺乏独立思考能力,反应速度慢了思考就慢,所以就不知该怎么做了,自己不会去独立思考,只有等着别人叫着做什么做什么自己不敢眼事...这里简单总结一下。 首先,就是都关心问题,选择了Java,那么以后能做什么。...那么你还能怎么办,硬着头皮继续吧。 就这样,一直到毕业,在实验室里看着书,敲着代码,大家暑假有两个月,暑假就只给自己一个月,另外一个月都在学校里渡过,就是为了让自己能不辜负父母付出。

33820

java最困扰你那些事?又将如何解决?

还希望 Java 可以支持智能打包返回值,这样我们就可以像在Perl中那样返回一个包含多个值列表了。 希望使用异常标准库还可以在不适合抛出异常场景下使用并能够处理失败。...这样一来还得费劲去给类取一个方便理解名字……本来这事儿可以很简单(这确实很简单, 尤其是当你可以定义宏时候)。 有没有搞错 缺乏对支持。C++ 中模板要强大多。...事实上,在Java 中你根本不能在中实例化一个类,除非你把这个类作为参数来声明一个。 你很难给一个类加上结构函数并让它销毁这个类。RAII(一种资源管理模式,见 C++)却一直非常有用。...Java 中应该提供一个可写集合接口,现在集合继承自这个可写接口,只是把所有改变集合内容方法屏蔽掉。...明白他们为什么存在(而且理论上也说通),但是他们没为开发者带来什么实质好处。不论你做什么,都不要留一个空catch 块,就算你认为这个异常永远不会发生。

76850

(35) (上) - 基本概念和原理 计算机程序思维逻辑

Java中,类、接口、方法都可以是,我们先来看类。 一个简单类 我们通过一个简单例子来说明基本概念、实现原理和好处。...T表示类型参数,就是类型参数化,处理数据类型不是固定,而是可以作为参数传入。 怎么这个类,并传递类型参数呢?...,认识到这一点是非常重要,它有助于我们理解Java很多限制。...方法 除了类,方法也可以是,而且,一个方法是不是,与它所在类是不是没有什么关系。...在Java中,是通过类型擦除来实现,它是Java编译器概念,Java虚拟机运行时对基本一无所知,理解这一点是很重要,它有助于我们理解Java很多局限性。

74780

C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第三部分

尽管如此,在C# 3.0中支持匿名方法特色,和一样,还是很吸引人。 Hejlsberg:那绝对是。老实说,首先,你知道我们应该把荣誉放到他应该放地方。并没有在这里创造什么新东西出来。...我们可以一系列Where ,Select ,OrderBy 和 GroupBy 方法组合起来,形成一个完整查询。...C# 2.0 其他方面的亮点 Osborn:除了 和 匿名方法外 人们还应该注意 C# 2.0 其他方面呢? Hejlsberg:Nullable 类型,一个非常重要进步。...在java中做这个是非常有效率。但是这种方法使用起来却是非常耗费效率。...对于我,一个语言设计者,这个问题就是:人们在这里会做什么呢?在编程中什么是应该作为一等公民来对待。 Osborn:这么说 C# 一种语言将会统治所有其他语言?

93340

本来不想说,但是没忍住

昨天发了一篇关于类型擦除和桥接方法小Tips,然后看到有位同学私信我,并且提出了4个问题。确实由于我年纪大了手速慢了些,在他取关之前没有回复上问题。这个深感抱歉。...其次,关于内容写不咋地这个确实是问题,后续也会逐步提升自己写作能力。 最后,关于桥接做了什么?文章中提到了,是由于产生,引出后续类型擦除,再到桥接方法(自动生成方法)来维持多态性。...质疑2:类型擦除是子类定义了类型,你把子类上定义了String类型,还怪类型擦除 类型擦除是由于jdk5产生了概念,而为了向前兼容(即:兼容没有老版本),而采取了类型擦除方式。...所以所谓还怪类型擦除这句话,着实也没读明白。如果真的要怪,是不是怪诞生比较合适呢。...所以这位同学说一些不适宜的话就不接受并且也不反驳了,毕竟自己“嘴巴臭起来”自己也挺害怕。 其次,就是关于技术人“脾气”问题,从事java这行不算长,前前后后也有13个年头了。

13320
领券