小编flo*_*flo的帖子

null-safe mapping使用默认实现的Comparator

是否有内置的可能性在Java 8中创建一个空安全的映射比较器而无需编写自己的实现Comparator

运行以下代码时,它会导致NPE,因为keyExtractor参数Comparator.comparing()可能返回一个null值:

public class ToSort
{

    private String sortBy;

    public ToSort(String sortBy)
    {
        this.sortBy = sortBy;
    }

    public String getSortBy()
    {
        return sortBy;
    }

    public static void main(String[] args)
    {
        // mapping comparator
        Comparator<ToSort> comp = Comparator.comparing(ToSort::getSortBy);                          
        SortedSet<ToSort> set = new TreeSet<>(comp);
        ToSort o1 = new ToSort("1");
        ToSort o2 = new ToSort(null);

        set.add(o1);

        System.out.println(set.contains(o2)); //NPE because o2.getSortBy() == null

    }
}
Run Code Online (Sandbox Code Playgroud)

java.util.Comparator.lambda中线程"main"java.lang.NullPointerException中的异常$比较java.util.Comparator上的$ 77a9974f $ 1(Comparator.java:469)$$ Lambda $ 2/1480010240.compare(未知来源)at java.util.Comparators $ NullComparator.compare(Comparators.java:83),java.util.TreeMap.getEntryUsingComparator(TreeMap.java:376),位于java.util的java.util.TreeMap.getEntry(TreeMap.java:345) …

java comparator java-8

62
推荐指数
1
解决办法
1万
查看次数

Hibernate从4.3.x迁移到5.x,用于方法org.hibernate.cfg.Configuration.getClassMapping(className)

在Hibernate 4.3.x中,有一个getClassMapping(className)类的方法org.hibernate.cfg.Configuration.但在Hibernate 5.x中,此getClassMapping(className)方法已从Configuration类中删除.

Hibernate-5中的代码替换是什么?

请帮助解决此迁移问题.

java hibernate hibernate-5.x

22
推荐指数
1
解决办法
8240
查看次数

如何将活动中的工具栏背景颜色设置为colors.xml文件中的颜色?

我的colors.xml文件中有一种颜色需要用于toolbar颜色

<resources>
    <color name="MAIN_A">#f16264</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

现在我需要MAIN_A用作颜色toolbar.

android android-layout android-activity android-actionbar android-studio

5
推荐指数
1
解决办法
1万
查看次数