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