我想在Intellij中生成java equals()和hashcode()方法。我希望它能够生成eclipse生成的方式。我已经创建了一个自定义模板来执行此操作。但是,在intellij生成的哈希码方法中,成员按其列出的顺序排列,而不是按字母顺序排列。但是eclipse在生成equals和hashcode方法时按字母顺序对它们进行排序。我需要在Intellij中实现这一点。我找不到任何排序功能。任何帮助或指示将不胜感激。谢谢
此请求已经提交给IntelliJ IDEA,它是declined with the following comment:
我们假设您已在文件中以有意义的顺序订购了您的成员,并且保留此顺序比字母排序更有意义。
基于@ 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
效果很好。