小编JDC*_*JDC的帖子

嵌套泛型继承

我有以下课程:

class Field<T> {

  private final Class<T> type;

  public Field(Class<T> type) {
    this.type = type;
  }
}

class Pick<V> {
  private final V value;
  private final Class<V> type;

  public Pick(V value, Class<V> type) {
    this.value = value;
    this.type = type;
  }
}
Run Code Online (Sandbox Code Playgroud)

和问题所涉及的类:

class PickField<T> extends Field<Pick<T>> {

  public PickField(Class<Pick<T>> type) {
    super(type);
  }
}
Run Code Online (Sandbox Code Playgroud)

现在这似乎被编译器接受了.不幸的是,我不知道/理解如何创建一个新的实例PickField,例如 String选择.

这当然 - 不起作用:
new PickField<String>(Pick.class)

这是不允许的(我想我理解为什么):
new PickField<String>(Pick<String>.class)

那怎么办呢?或者整个方法是否以某种方式" "?

java generics inheritance

18
推荐指数
2
解决办法
1103
查看次数

创建像SO Developer Story这样的垂直时间轴

我目前正在尝试制作一个垂直时间轴(就像在stackoverflow开发人员的故事中一样).

要求如下:

  • 时间线不应该只是改变左右项目而不是在对面留下空间(不是这样或者这样)
  • 如果需要,左右项应该填满剩余空间(就像这里一样,遗憾的是,一旦项目的内容变得更长,项目的顺序就不会被保留)
  • 项目的顺序应与提供的DOM结构中的顺序相同,因此首先出现的项目应首先在时间轴中

因此,在第一步中,我只想测试如何相应地向左或向右对齐项目.

这就是我目前所拥有的:

.timeline {
  width: 100%;
}

.timeline-item {
  box-sizing: border-box;
  width: 50%;
  position: relative;
  float: left;
  clear: left;
  padding-left: 20px;
  margin: 1px 0 1px;
  background: tomato;
}

.timeline-item.inverse {
  float: right;
  clear: right;
  background: grey;
}


/* Just used to show the middle point alignment */

.timeline-item::after {
  content: '';
  height: 2px;
  width: 10px;
  background: DarkGrey;
  position: absolute;
  top: 50%;
  right: 0;
}

.timeline-item.inverse::after {
  left: 0;
  background: …
Run Code Online (Sandbox Code Playgroud)

html javascript css

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

杰克逊 - 将ZonedDateTime序列化为ISO 8601字符串

我想序列化ZonedDateTimeISO 8601标准的字符串,如:
2018-02-14T01:01:02.074+0100.

我尝试了以下方法:

@JsonProperty("@timestamp")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
private ZonedDateTime timestamp;
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它没有给出正确的结果,并将ZonedDateTime其所有字段等序列化.

谢谢你的帮助!

java serialization datetime jackson

12
推荐指数
1
解决办法
6142
查看次数

杰克逊JSON - 反编译Commons MultiMap

我想使用JSON序列化和反序列化MultiMap(Apache Commons 4).

要测试的代码片段:

MultiMap<String, String> map = new MultiValueMap<>();
map.put("Key 1", "Val 11");
map.put("Key 1", "Val 12");
map.put("Key 2", "Val 21");
map.put("Key 2", "Val 22");

ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writeValueAsString(map);
MultiMap<String, String> deserializedMap = mapper.readValue(jsonString, MultiValueMap.class);
Run Code Online (Sandbox Code Playgroud)

序列化工作正常,并产生我期望的格式:

{"Key 1":["Val 11","Val 12"],"Key 2":["Val 21","Val 22"]}
Run Code Online (Sandbox Code Playgroud)

不幸的是,反序列化产生的结果不是它看起来的样子:在反序列化之后,Multimap在ArrayList中包含一个用于键值的ArrayList,而不是包含值的键的单个ArrayList.

由于put()MultiMap实现了Map接口,因此调用多映射的方法来添加在json字符串中找到的数组,从而产生了这个结果.

如果将新值放入非现有键,MultiMap实现本身将再次创建一个ArrayList.

有没有办法绕过这个?

谢谢您的帮助!

java serialization json multimap

10
推荐指数
1
解决办法
6584
查看次数

Maven - 子模块配置文件

问题

我有一个maven项目,其结构与下面的相似:(
为简化起见而简化)

--parent
    |-- child A (inherits from parent)
    |-- child B (inherits from parent)
          |-- child B1 (inherits from B)
          |-- child B2 (inherits from B)
          |-- child B3 (inherits from B)
Run Code Online (Sandbox Code Playgroud)

仅仅孩子B1B2必须使用包含一些额外构建内容的特定配置文件构建.结果,配置文件已在模块B中指定.

逻辑上,模块属于模块B,并且还继承了一些依赖项等(aggreagtion + inheritance).
(想象一下像B = Frontend,B1 = UI,B2 = Themes,B3 = Something)


  • 是否有可能仍然使用父pom完整版本并仅在正确的孩子中激活相应的配置文件?(将是我最喜欢的解决方案)
  • 或者我是否需要使用高级反应器选项(-pl等)进行单独构建?
  • 或者是否存在针对此类场景的完全其他方法?

编辑

编辑,因为问题被确定为重复:问题是相应问题中提到的解决方案不起作用.

如果我通过使用属性激活子配置文件,它也将被激活模块B(父级)和所有子级.

我只希望它对孩子B1B2有效.

pom.xml maven multi-module maven-profiles

7
推荐指数
1
解决办法
6325
查看次数

Firebase用户界面 - 验证 - 使用自己的布局

是否可以在Android上使用我自己的Firebase UI Auth 布局和按钮

我基本上想要实现自己选择身份提供者(google,facebook等)的屏幕并从我的点击监听器开始相应的流程(例如使用Butterknife):

@OnClick(R.id.login_btn_signInGoogle)  
public void signInGoogle(View view) {  
  // Start google sign in flow <--- This is what I do not know how to do it  
}

@OnClick(R.id.login_btn_signInFacebook)  
public void signInFacebook(View view) {  
  // Start facebook sign in flow <--- This is what I do not know how to do it 
}
Run Code Online (Sandbox Code Playgroud)

我知道firebase提供了自定义屏幕/主题的可能性,但对我的情况来说还不够.

在最坏的情况下,我将不得不使用标准的firebase sdk方法来实现它.

android firebase firebase-authentication firebaseui

7
推荐指数
2
解决办法
6602
查看次数

Maven嵌套模块 - 二级儿童

我阅读了很多关于maven多模块项目的内容,并得出结论我想使用以下方法:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
  --module-b
    --pom.xml
Run Code Online (Sandbox Code Playgroud)

看到这里

但是现在我在如何处理第二/第三/ n级模块方面有点挣扎,例如模块-a也有多个子模块,特别是对于具有大量模块的深层次结构.

我是否将模块a再次视为根,然后产生以下结构:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
    --parent-module-a
        --pom.xml
    --module-a-1
        --pom.xml
    --module-a-2
        --pom.xml
  --module-b
    --pom.xml
Run Code Online (Sandbox Code Playgroud)

或者我会将模块的子模块放在根目录中:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
  --module-b
    --pom.xml
  --module-a-1
    --pom.xml
  --module-a-2
    --pom.xml
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

directory-structure maven multi-module

6
推荐指数
1
解决办法
3518
查看次数

REST API - ALPS UI(Swagger UI之类)

我目前正在评估Spring Data REST,我非常喜欢它.

我缺少的是一个很好的交互式文档可能性,类似于Swagger UI.

我知道Spring Data REST不是静态API,而且有HAL Browser,但遗憾的是HAL Browser 没有显示任何关于相应url/GET/POST /等的文档元数据.

Spring Data REST生成ALPS元数据(参见此处).


为什么需要这个?
嗯,对于前端开发人员而言,从我的角度来看,这对于提高工作效率非常有用.此外,每种自动生成的文档都可以节省大量时间.


长话短说:
是否有类似" 用于ALPS /超媒体感知REST API的Swagger UI "?


附加信息:
我已经找到了一个描述问题的类似问题,但我不确定是否可以重新加载它,所以我创建了这个新问题.也许在此期间有可能的解决方案.

documentation rest swagger spring-data-rest

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

纯JavaScript - Div内的ScrollIntoView

我需要将div(不是直接子节点)内的某个元素滚动到视图中.


基本上我需要与ScrollIntoView提供的功能相同,但是对于指定的父级(只有这个父级应该滚动).
此外,我无法使用任何第三方库.


我不太确定如何解决这个问题,因为我的JavaScript开发非常有限.有人可以帮助我吗?


我发现这个代码可以完全满足我的需要,但不幸的是它需要JQuery,我无法将其转换为纯JavaScript.

javascript scroll

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

溪流 - 按物业和最高收集

问题陈述

鉴于以下类(针对该问题进行了简化):

public static class Match {

  private final String type;
  private final int score;

  public Match(String type, int score) {
    this.type = type;
    this.score = score;
  } 

  public String getType() {
    return type;
  }

  public int getScore() {
    return score;
  }
}
Run Code Online (Sandbox Code Playgroud)

我有一个Stream<Match>包含该类的多个实例,相同的类型出现多次,但具有不同的分数:

Stream.of(new Match("A", 1), new Match("A", 2), new Match("A", 4), new Match("A", 10),
          new Match("B", 3), new Match("B", 6), new Match("B", 12),
          new Match("C", 1));
Run Code Online (Sandbox Code Playgroud)

我现在想要收集流,以便结果List<Match>只包含每种类型得分最高的实例.

我尝试了什么

以下代码正在运行,但我不确定它是否是"最佳"解决方案(除了可怕的读取和格式化):

.collect(Collectors.collectingAndThen(
          Collectors.groupingBy(Match::getType, Collectors.collectingAndThen(
              Collectors.toList(),
              l …
Run Code Online (Sandbox Code Playgroud)

java java-stream

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