簡體   English   中英

如何為私有內部類創建別名(使用XStream)?

[英]How to create an alias for a private inner class (using XStream)?

我正在為長類名創建別名...效果很好,但是序列化的類之一是私有內部類。 除了將其公開之外,我無法想到一種為其創建別名的方法。 我不喜歡這種解決方案,因為它首先不應該公開。 但是由於為其創建了別名,因此無需更改XML文件即可更改包和類名(因為第一個標記是完全限定的類名)。

這就是我創建別名的方式:

xstreamInstance.alias("ClassAlias", OuterClass.InnerClassToAlias.class);

這就是為什么我需要公開訪問該內部類。

因此,如果有人知道給私有內部類起別名的技巧,我真的很想聽聽。

您可以創建類似於以下的類,並將對xstreamInstance的引用xstreamInstancealias方法。

public class Parent {
    public void alias(XStream x) {
        x.alias("Kiddie", Parent.Child.class);
    }

    private class Child {

    }
}

如何為別名使用注釋?

public class Parent {
    @XStreamAlias("kiddie")
    private class Child {

    }
}

編輯:las,當請求獲取父類的解析時,XStream不支持嵌套類的注釋的解析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM