如何在intellij中生成java的hashcode方法,并对其成员进行排序?

问题描述 投票:1回答:2

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

java eclipse sorting intellij-idea hashcode
2个回答
3
投票

此请求已经提交给IntelliJ IDEA,它是declined with the following comment

我们假设您已在文件中以有意义的顺序订购了您的成员,并且保留此顺序比字母排序更有意义。


1
投票

基于@ CrazyCoder的suggestion,我为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

效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.