相关疑难解决方法(0)

C#和Java中的泛型与C++中的模板有什么区别?

我主要使用Java和泛型相对较新.我一直在阅读Java做出错误决定或者.NET有更好的实现等.

那么,泛型中C++,C#,Java之间的主要区别是什么?每个人的利弊?

c# c++ java generics templates

203
推荐指数
6
解决办法
5万
查看次数

C#vs Java泛型

我听说Generics的Java实现不如C#实现那么好.因为语法看起来很相似,那么Java实现的不合标准是什么,还是宗教观点呢?

c# java generics comparison

117
推荐指数
3
解决办法
5万
查看次数

为什么Java Collections不能直接存储Primitives类型?

Java集合只存储对象,而不是基本类型; 但是我们可以存储包装类.

为什么这个约束?

java collections types primitive-types

117
推荐指数
4
解决办法
5万
查看次数

对于仿制药有什么好处,为什么要使用它们呢?

我以为我会把这个垒球提供给任何想要从公园里击出的人.什么是泛型,泛型的优点是什么,为什么,在哪里,我应该如何使用它们?请保持相当基本.谢谢.

c# generics types

80
推荐指数
10
解决办法
6万
查看次数

Java泛型真的很笨拙吗?为什么?

忍受我一段时间.我知道这听起来有些主观和争论,但我发誓最后会有一个问号,这个问题实际上可以客观地回答......

来自.NET和C#背景,我近年来被语法糖所破坏,泛型与扩展方法相结合,在许多.NET解决方案中提供常见问题.使C#泛型非常强大的一个关键特性是,如果其他地方有足够的信息,编译器可以推断出类型参数,所以我几乎不必将它们写出来.在您意识到保存了多少次击键之前,您不必编写多行代码.例如,我可以写

var someStrings = new List<string>();
// fill the list with a couple of strings...
var asArray = someStrings.ToArray();
Run Code Online (Sandbox Code Playgroud)

和C#将只知道,我的意思是,第一varList<string>,第二个是string[].ToArray()真的是.ToArray<string>().

然后我来到Java.

我已经对Java泛型有了足够的了解,知道它们是根本不同的,除此之外,编译器实际上并没有编译成通用代码 - 它剥离了类型参数并使其无论如何都以某种(非常复杂的)方式工作(我还没有真正了解).但即使我知道 Java中的泛型是根本不同的,我也无法理解为什么这些结构是必要的:

 ArrayList<String> someStrings = new ArrayList<String>();
 // fill the list with a couple of strings...
 String[] asArray = someStrings.toArray(new String[0]); // <-- HERE!
Run Code Online (Sandbox Code Playgroud)

为什么我必须实例化一个新的String[],没有任何元素,不会用于任何东西,因为Java编译器知道它是什么String[]而不是我想要的任何其他类型的数组?

我意识到这是重载的方式,而且toArray()当前返回的是Object[].但是,当Java的这一部分被发明时,为什么要做出这个决定呢?为什么这个设计比跳过.toArray()那个 …

java generics

17
推荐指数
4
解决办法
1312
查看次数

标签 统计

generics ×4

java ×4

c# ×3

types ×2

c++ ×1

collections ×1

comparison ×1

primitive-types ×1

templates ×1