我正在使用自定义比较器类AlphaNumComparator通过其方法CREATE TRIGGER [dbo].[Modified_Demand_Request1]
ON [dbo].[Demand_Request]
AFTER UPDATE
AS
INSERT INTO [dbo].[Modified_Demand_Request] ([CASE_ID], [TE_PART_NUMBER],[VALUE], [DEMAND_DATE], [Modified_On])
SELECT
[CASE_ID], [TE_PART_NUMBER], [VALUE],
[DEMAND_DATE], GETDATE()
FROM
INSERTED
的输出对“相册”数组进行排序,该类具有一个方法getAlbumArtist()
,该方法比较两个字符串。
我有以下代码可以正常工作:
compare
这似乎可以通过使用Java中的一些新语言功能来简化/使这种代码更清晰,但是我不太理解这些代码。有可能吗,还是随它而来?
答案 0 :(得分:7)
我建议您使用
Arrays.sort(albumArray, Comparator.comparing(Album::getAlbumArtist, comparator));
答案 1 :(得分:2)
您可以这样做
Album[] sortedAlbums = Arrays.stream(albumArray)
.sorted(Comparator.comparing(a -> a.getAlbumArtist().toLowerCase()))
.toArray(Album[]::new);
答案 2 :(得分:1)
假设albumArray
是list
,您可以这样做
albumArray.sort(Comparator.comparing(Album::getAlbumArtist, String.CASE_INSENSITIVE_ORDER));
否则,您可以这样做
Arrays.sort(albumArray, Comparator.comparing(Album::getAlbumArtist, String.CASE_INSENSITIVE_ORDER));