Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这两个Java和C语句相等吗?_C#_Java_.net_Interface - Fatal编程技术网

C# 这两个Java和C语句相等吗?

C# 这两个Java和C语句相等吗?,c#,java,.net,interface,C#,Java,.net,Interface,在C中 在爪哇 class ListMap<K, E> : ImyMap<K, E>, IComparable<K>, IEnumerable<KeyValuePair<K, E>> { } 只是想把一些数据结构从Java转换成C,想知道我的C实现是否与Java实现相同 如果不是,你能纠正它吗?不,它们不相等。K延伸到。。。部分需要转换为约束: class MyListMap<K extends Comparable&l

在C中

在爪哇

class ListMap<K, E>
    : ImyMap<K, E>, IComparable<K>, IEnumerable<KeyValuePair<K, E>>
{
}
只是想把一些数据结构从Java转换成C,想知道我的C实现是否与Java实现相同


如果不是,你能纠正它吗?

不,它们不相等。K延伸到。。。部分需要转换为约束:

class MyListMap<K extends Comparable<? super K>, E>
    implements MyMap<K,E>, Iterable<KeyValuePair<K, E>>
{
}

in修饰符使接口变反,这与Java中的通配符具有相同的效果。

不,它们不相等。K延伸到。。。部分需要转换为约束:

class MyListMap<K extends Comparable<? super K>, E>
    implements MyMap<K,E>, Iterable<KeyValuePair<K, E>>
{
}


in修饰符使接口变为逆变,这与Java中的通配符具有相同的效果。

最好在代码评审时询问它。这是我自己的个人资料,这种类型的评论是对整个网站的嘲弄。但无论如何,感谢您的建设性反馈。这不是嘲弄,因为所有这些网站都是由堆栈交换管理的,所有类型的主题。我还以为您是指代码评审我的学校或公司。。。抱歉,最好在代码审查时问这个问题。这是我个人的事情,这种评论是对整个网站的嘲弄。但无论如何,感谢你的建设性反馈。这不是嘲弄,因为所有这些网站都是由stack exchange管理的,所有类型的主题。我以为你是指我的学校或公司的代码审查。。。抱歉这就是我想要的,但我担心的是:我们是否需要调整K:I可比性,以考虑到我们有K的事实,这是我在C语言中一直遇到的问题。在大多数情况下,这是一种新的尝试,并试图在其中实现我自己的数据结构。我以前从未见过关于where的内容,我喜欢互联网谢谢大家@罗琳:我扩展了我的答案来解释通配符。啊,方差涵盖了它吗?我想知道你是否必须添加一个伪类型参数并执行where K:IComparable where K:superk这正是我想要的,但我担心的是:我们是否需要调整K:IComparable以允许我们有K扩展,这是我在C语言中一直遇到的问题。在大多数情况下,这是一种新的尝试,并试图在其中实现我自己的数据结构。我以前从未见过关于where的内容,我喜欢互联网谢谢大家@罗琳:我扩展了我的答案来解释通配符。啊,方差涵盖了它吗?我想知道您是否必须添加一个伪类型参数并执行where K:I可比较where K:SuperK
interface IComparable<in K> { ... }