小编Ste*_*eve的帖子

GSON非区分大小写的Enum反序列化

我有一个枚举:

enum Type {
    LIVE, UPCOMING, REPLAY
}

Run Code Online (Sandbox Code Playgroud)

还有一些JSON:

{
    "type": "live"
}
Run Code Online (Sandbox Code Playgroud)

一节课:

class Event {
    Type type;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试反序列化JSON的,使用GSON,我收到nullEvent类型字段,因为在JSON类型字段的情况下,不匹配的枚举.

Events events = new Gson().fromJson(json, Event.class);
Run Code Online (Sandbox Code Playgroud)

如果我将枚举更改为以下,那么一切正常:

enum Type {
    live, upcoming, replay
}
Run Code Online (Sandbox Code Playgroud)

但是,我想将枚举常量保留为全部大写.

我假设我需要编写一个适配器,但没有找到任何好的文档或示例.

什么是最好的解决方案?


编辑:

我能够让JsonDeserializer工作.有没有更通用的方法来编写这个,因为每次枚举值和JSON字符串之间的情况不匹配时都必须编写它.

protected static class TypeCaseInsensitiveEnumAdapter implements JsonDeserializer<Type> {
    @Override
    public Type deserialize(JsonElement json, java.lang.reflect.Type classOfT, JsonDeserializationContext context)
            throws JsonParseException {         
        return Type.valueOf(json.getAsString().toUpperCase());
    }
}
Run Code Online (Sandbox Code Playgroud)

java gson json-deserialization

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

色彩逻辑算法

我们正在构建一个体育应用程序,并希望将团队颜色合并到应用程序的各个部分.

现在每个团队都可以用几种不同的颜色来表示.

我想做的是执行检查以验证两个团队颜色是否在彼此的特定范围内,以便我不显示两个相似的颜色.

所以,如果团队1的主要团队颜色的值为rgb(255,0,0)(或#FF0000),团队2的主要颜色相似,比如rgb(250,0,0),那么我们会选择不同的颜色其中一支球队的颜色.

如果可能的话,我可以采取什么方法来执行检查?

谢谢

javascript java algorithm colors

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

附加到DOM之前的DOM元素宽度

我确定答案是否定的,但是在将元素附加到DOM 之前是否可以确定元素的宽度?

一旦附加,我知道我可以使用offsetWidth和offsetHeight.

谢谢

html javascript jquery mootools

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

CSS - 最大宽度和椭圆

我有一个包含文字的跨度.我希望跨度扩展到最大500px以容纳内部文本.达到最大值后,我希望文本显示任何溢出最大宽度的文本的省略号.这可能吗?我尝试了以下方法,但这并没有成功.

谢谢

{
    position: absolute;
    top: 13px;
    left: 44px;
    max-width: 500px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
Run Code Online (Sandbox Code Playgroud)

html css

23
推荐指数
2
解决办法
2万
查看次数

WPF - 标题边框

在Java的Swing框架中,WPF中是否存在与标题边界相当的等价物?下面是一个链接,其中包含我正在寻找的截图,以及一些非常糟糕的ASCII艺术.

http://www.java2s.com/Code/Java/Swing-JFC/TitledBorder.htm

-------TITLE--------
|                  |
|                  | 
|                  |
|__________________|
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# wpf xaml

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

Android - 声明性与程序化UI

有没有人见过或编译过比较声明(XML)与Android中以编程方式创建的UI的基准?

谷歌已经采取了一些措施来加速声明性方法,但你仍然可以在运行时完成布局膨胀步骤.

您是否曾因任何原因切换(或考虑)将UI从声明更改为程序化?

performance android

18
推荐指数
1
解决办法
5474
查看次数

列表项中间垂直对齐

我有以下HTML和CSS创建列表,其中列表项具有最小高度设置.如果没有足够的内容来填充整个高度,我希望列表项的内容在中间而不是顶部垂直对齐.怎么回事呢?

<html>
    <head>
        <style type="text/css">
            ul {
                width : 300px;
                list-style-type: none;
            }

            li {
                min-height : 45px;
                vertical-align : middle;
                border-bottom : 1px black solid;
            }
        </style>
    <head>
    <body>
        <ul>    
            <li>Testing testing 1234</li>
            <li>Testing testing 1234 Testing testing 1234</li>
            <li>Testing testing 1234 Testing testing 1234 Testing testing 1234</li>
            <li>Testing testing 1234 Testing testing 1234 Testing testing 1234 Testing testing 1234</li>
            <li>Testing testing 1234 Testing testing 1234 Testing testing 1234 Testing testing 1234 Testing testing 1234</li>
       </ul>
 </body>
Run Code Online (Sandbox Code Playgroud)

这给了我以下内容:

在此输入图像描述

html css vertical-alignment

15
推荐指数
2
解决办法
4万
查看次数

如何检查文件是否存在,如果没有杀死构建?

如何停止构建,并在文件不存在时通知用户?我知道如果文件存在,我可以使用可用的任务来设置属性,但我不确定如何停止构建并回显一些东西.

如果可能的话,我想坚持核心任务.

ant

14
推荐指数
3
解决办法
8281
查看次数

改造覆盖端点

我可以覆盖RestAdapter构建器上设置的端点路径吗?所以说我有20个端点使用相同的基本URL,但有1个端点没有.我想调用setEndpoint来使用所有20个,但是在我需要使用不同基本URL的情况下覆盖.

Builder builder = new RestAdapter.Builder().setEndpoint("http://url");
Run Code Online (Sandbox Code Playgroud)

使用构建器上的端点路径集:

 @GET("/relative
 Something getClip();
Run Code Online (Sandbox Code Playgroud)

使用绝对路径(不起作用):

 @GET("http://absolute/path")
 Something getAlert();
Run Code Online (Sandbox Code Playgroud)

java retrofit

14
推荐指数
1
解决办法
7228
查看次数

我在哪里可以找到XMLHttpRequest实现?

我想了解XMLHttpRequest如何在Javascript中工作的低级细节,但是我没有幸运地在Rhino或V8代码中找到实现代码.我对这两个项目中的代码都不熟悉,所以我可能不会找到合适的位置.

在任何地方都有可用的开源实现吗?

javascript v8 xmlhttprequest rhino

13
推荐指数
1
解决办法
5504
查看次数