小编s.m*_*ner的帖子

Java8 Lambda表达式迭代枚举值并初始化最终成员

我有一个像这样的静态枚举:

private static enum standardAttributes {
    id, gender, firstname, lastname, mail, mobile
}
Run Code Online (Sandbox Code Playgroud)

我需要所有值为String.因此我有一个像这样的方法:

public static List<String> getStandardRecipientsAttributes() {
    List<String> standardAttributesList = new ArrayList<String>();
    for (standardAttributes s : standardAttributes.values())
        standardAttributesList.add(s.toString());

    return standardAttributesList;
}
Run Code Online (Sandbox Code Playgroud)

每次调用此方法时都无需创建相同的List.所以我创建了一个静态成员:

static final List<String> standardAttributesList;
static {
    standardAttributesList = getStandardRecipientsAttributes();
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但我想知道是否有一个奇特的Lambda表达式来替换该方法.像这样的东西:

Arrays.asList(standardAttributes.values()).forEach((attribute) -> standardAttributesList.add(attribute.toString()));
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 我可以避免使用Arrays.asList包装吗?
  2. 如何处理编译器错误:空白的final字段standardAttributesList可能尚未初始化

java lambda enums java-8

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

如何从bitbucket中删除git远程主服务器?

在一个git项目中,我在一个分支中做了一些重构,现在这个分支应该是一个新项目.我把这个项目从github搬到了bitbucket.现在我想删除旧的master并使重构分支成为新的master.

我试图删除主人:

$ git branch -D master
Deleted branch master (was a947288).
$ git push origin :master
remote: error: refusing to delete the current branch: refs/heads/master
 ! [remote rejected] master (deletion of the current branch prohibited)
Run Code Online (Sandbox Code Playgroud)

在bitbucket前端我无法删除主人.那我怎么能得到那个呢?或者我是否必须创建一个新项目并将重构分支推入其主服务器?

git bitbucket

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

标签 统计

bitbucket ×1

enums ×1

git ×1

java ×1

java-8 ×1

lambda ×1