将代码C#翻译成Java是否正确?

将代码C#翻译成Java是否正确?,c#,java,sorting,compare,C#,Java,Sorting,Compare,好的,我编辑了post-to-short版本,我想问一下c#:TryGetValue中的方法以及通过比较(IComparator)排序列表 我需要用Java编写这个方法,所以我写了这段代码。询问了解这两种语言的开发人员是否正确 1) 第一个问题——TryGetValue是不是用Java编写的方法也一样? c#: 到Java: Node value; if (!nodes.containsKey(nodeId)){ return false; }else{

好的,我编辑了post-to-short版本,我想问一下c#:TryGetValue中的方法以及通过比较(IComparator)排序列表

我需要用Java编写这个方法,所以我写了这段代码。询问了解这两种语言的开发人员是否正确

1) 第一个问题——TryGetValue是不是用Java编写的方法也一样? c#:

到Java:

Node value;
    if (!nodes.containsKey(nodeId)){
      return false;
    }else{
      value = nodes.get(nodeId);
    }
2) java中比较器的排序也一样吗

      static int compareNodes(Node n1, Node n2)
        {
            if (n1.f > n2.f) return 1;
            if (n1.f < n2.f) return -1;
            return 0;
        }

            list.Sort(compareNodes);
静态int比较节点(节点n1、节点n2)
{
如果(n1.f>n2.f)返回1;
如果(n1.f
在Java中:

 @Override
        public int compare(Node nodeFirst, Node nodeSecond) {
            if (nodeFirst.f > nodeSecond.f)
              return 1;
            if (nodeFirst.f < nodeSecond.f)
              return -1;
            return 0;
        }

            Collections.sort(nodeList, new OpenList());
@覆盖
公共整数比较(Node nodeFirst,Node nodeSecond){
if(nodeFirst.f>nodeSecond.f)
返回1;
if(nodeFirst.f
只要快速浏览一下您的代码,我就看不出它有什么真正的问题。但不能保证


如果您真的想确定,您可能应该创建单元测试来验证C#和Java中的行为。这将需要更多的工作,但比在此处依赖评论要安全得多。

如果您只是想进行评论,而没有具体问题,则应在此处发布。不要询问有关翻译代码的问题。用目标语言编写代码,运行它,如果有任何问题,进行调试,并询问有关这些问题或编译器错误的具体问题,假设您已经搜索了原因。此外,我不确定这是否属于该网站,因为该网站提供的是完整的工作代码,也不清楚这段代码是否已经过测试(我对询问那里的代码翻译也有类似的担忧)。
 @Override
        public int compare(Node nodeFirst, Node nodeSecond) {
            if (nodeFirst.f > nodeSecond.f)
              return 1;
            if (nodeFirst.f < nodeSecond.f)
              return -1;
            return 0;
        }

            Collections.sort(nodeList, new OpenList());