问题标签 [generics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 为什么我不能将类型参数显式传递给泛型 Java 方法?
我已经定义了一个 Java 函数:
一种调用方式如下:
为什么我不能通过显式传递泛型类型参数来调用它?:
我Illegal start of expression
从编译器得到错误。
c# - 测试泛型类型是否为字符串的最佳方法?(C#)
我有一个泛型类,它应该允许任何类型,原始类型或其他类型。唯一的问题是使用default(T)
. 当您对值类型或字符串调用 default 时,它会将其初始化为合理的值(例如空字符串)。当你调用default(T)
一个对象时,它返回 null。由于各种原因,我们需要确保如果它不是原始类型,那么我们将拥有该类型的默认实例,而不是null。这是尝试1:
问题 - 字符串不是值类型,但它没有无参数构造函数。所以,目前的解决方案是:
但这感觉就像一个杂牌。有没有更好的方法来处理字符串大小写?
c# - C# 和 Java 中的泛型...和 C++ 中的模板有什么区别?
我主要使用 Java,泛型相对较新。我一直在读到 Java 做出了错误的决定,或者 .NET 有更好的实现等等。
那么,C++、C#、Java 在泛型中的主要区别是什么?每个的优点/缺点?
c# - 如何转换 IEnumerable列出在 C# 中?
我正在使用 LINQ 查询通用字典,然后将结果用作我的 ListView (WebForms) 的数据源。
简化代码:
我认为这会起作用,但实际上它会引发System.InvalidOperationException:
id 为“myListView”的 ListView 必须具有实现 ICollection 或在 AllowPaging 为 true 时可以执行数据源分页的数据源。
为了让它工作,我不得不求助于以下方法:
第一个示例中是否有一个小问题可以使它起作用?
(不知道该用什么作为这个问题的标题,请随时编辑为更合适的内容)
c# - 是否存在将我的泛型方法限制为数字类型的约束?
谁能告诉我泛型是否有办法将泛型类型参数限制为T
:
Int16
Int32
Int64
UInt16
UInt32
UInt64
我知道where
关键字,但找不到仅适用于这些类型的接口,
就像是:
.net - .Net 2.0 - 通用列表的效率如何?
我正在创建一个在内存中保存大量用户数据负载的应用程序,并且它主要将其全部保存在 List<T> 结构中(以及一些 Dictionary<T,T> 当我需要查找时)。
我想知道...
列表的效率如何?我为每个人获得多少内存开销?(也就是说,除了它们包含的对象之外的内存空间)每次实例化一个新对象时我要支付多少罚款?
有没有更有效的方法?
字典只是哈希表,对吗?还是它们是一种效率较低的数据结构?
我想使用数组,但我有一个典型的问题是总是从它们中添加和删除东西,所以不得不增长/缩小它们会很痛苦。
有什么想法/建议吗?
编辑:我知道我的基本数据结构 101,以及为什么链接列表更适合添加/删除,而哈希表更适合随机访问。
我最关心的是.Net 的特质。例如,每个结构浪费了多少内存。并且浪费时间初始化/杀死它们。
例如,如果实例化/GC 一个 List 需要很多时间,但清除它的时间不多,也许我应该保留一小部分 List 等待我,然后清除它们并将它们发送回池中完成后,而不是简单地取消引用它们。
或者,如果 Hashtables 访问速度更快但浪费大量内存,我可能更喜欢使用 Lists 并遍历它们,用于小项目计数。
而且我真的很想关注内存使用情况,因为我的应用程序非常耗费内存(想想 memcached 之类的)......有谁知道我在哪里可以找到这样的信息?
java - C++ 和 Java 中的“通用”类型有什么区别?
Java 有泛型,C++ 提供了一个非常强大的编程模型template
。那么,C++ 和 Java 泛型有什么区别呢?
java - Java中的泛型
是否有任何简写方式来定义和使用通用定义,而不必不断重复特定的通用描述,这样如果有更改,我不必更改所有定义/用法,例如代码库可能是这样的:
c# - 要求通用方法在 FAIL 上抛出特定的异常类型
是的,我知道我完全会用这个看起来像个白痴,但今天早上我的大脑并没有开始运转。
我想有一种方法,我可以说“如果它变坏了,就带着这种类型的异常回来”,对吧?
例如,类似(这不起作用):
现在让我感到困惑的是,由于where子句,我们知道泛型类型将是异常类型。但是,代码失败了,因为我们不能将Exception隐式转换为ExType。我们也不能显式转换它,例如:
因为那也失败了..那么这种事情可能吗?我有一种强烈的感觉,它会变得非常简单,但是我和老头子度过了艰难的一天,所以让我放松一下:P
更新
谢谢大家的回答,看来我不是一个完全的白痴!;)
好的,所以Vegard和Sam让我可以实例化正确的类型,但显然卡住了,因为消息参数在实例化后是只读的。
马特的反应一针见血,我已经对此进行了测试,一切正常。这是示例代码:
甜的!:)
多谢你们!