我正在使用 Keycloak 的 Java keycloak-admin-client
,我想为我的领域的客户端设置一些协议映射器。
Java API 公开此类来创建协议映射器,然后使用以下方法来设置配置选项:
ProtocolMapperRepresentation protocolMapperRep = new ProtocolMapperRepresentation();
protocolMapperRep.setConfig(Map.of("some.mapper.config.option", "mapper-value"));
Run Code Online (Sandbox Code Playgroud)
我查看了 javadoc 文档,不幸的是,它完全没用。:( 我没有看过rest-api文档,但我只是看了它,它没有做任何事情来枚举协议映射器表示的配置选项: https: //www.keycloak.org/docs-api /12.0/rest-api/index.html#_protocolmapperrepresentation
我在这里看到了另一个 StackOverflow 问题中的一些选项:Add protocol-mapper to keycloak using kcadm.sh
然而,必须有一个更好的地方来记录这些内容。
使用Java 11
, 对于此代码:
String[] arrayString = {"foo", "bar"};
Run Code Online (Sandbox Code Playgroud)
SonarLint
说 Declare this local variable with "var" instead.
所以,我试过:
var arrayString = {"foo", "bar"};
// or
var[] arrayString = {"foo", "bar"};
Run Code Online (Sandbox Code Playgroud)
但现在我收到这些错误:
Array initializer needs an explicit target-type
'var' is not allowed as an element type of an array
如何正确声明数组变量或属性。
我有Map
1000 个项目,我想List
从它的前 500 个项目中生成一个,Map
并删除从Map
.
换句话说,我想过滤、收集到 aList
并从 a 中删除项目Map
。
我正在尝试这样的事情:
final int i = 0;
int max = 5;
Map<String, Object> map = new HashMap<>();
map.put("ads", "123");
map.put("qwe", "123");
map.put("cvb", "123");
map.put("asd", "123");
map.put("iop", "123");
map.put("jkl", "123");
map.put("yui", "123");
List list = map.entrySet().stream().filter(y -> i++ < max).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
预期输出:
具有 2 个值的映射
包含 5 个值的列表