如何在 intellij 中生成 java 的哈希码方法,其成员已排序?



我想在Intellij中生成java equals()和hashcode()方法。我希望它能产生日食生成的方式。我创建了一个自定义模板来执行此操作。但是,在 intellij 生成的哈希码方法中,成员按其列出的顺序排列,而不是按字母顺序排列。但是 eclipse 在生成等于和哈希码方法时按字母顺序对它们进行排序。我需要在 Intellij 中实现这一目标。我找不到任何要使用的排序函数。任何帮助或指示将不胜感激。谢谢<</p>

div class="one_answers">

此请求已提交给IntelliJ IDEA,并被拒绝,并提出以下评论:

我们假设您已按有意义的顺序对会员进行排序 在文件中,并且保留此顺序会更多 比字母排序有意义。

根据@CrazyCoder的建议,我为intellij开发了一个宏。

#macro(sort $array)
  #set($size=$array.size())
  #set($index1=0)
  #foreach($element1 in $array)
    #set($index2=0)
    #set($minElement=$element1)
    #set($minElementIndex=$index1)
    #foreach($element2 in $array)
      #if($index2>$index1)
        #if($minElement.name.compareTo($element2.name)>0)
          #set($minElement=$element2)
          #set($minElementIndex=$index2)
        #end
      #end
      #set($index2=$index2+1)
    #end
    #set($temp=$array.get($index1))
    #set($junk=$array.set($index1, $minElement))
    #set($junk=$array.set($minElementIndex, $temp))
    #set($index1=$index1+1)
  #end
#end

效果很好。

相关内容

  • 没有找到相关文章

最新更新