我正在处理Java 8流,我想知道我是否能以一种奇特的方式解决这个问题.
这就是我的场景:假设我有一个派对列表,在每个元素中我都有成员的名字.我想迭代列表并创建一个新的名称和他们属于哪一方.
我的第一个方法是:
@Test
public void test(){
Party firstParties = new Party("firstParty",Lists.newArrayList("Member 1","Member 2","Member 3"));
Party secondParty = new Party("secondParty",Lists.newArrayList("Member 4","Member 5","Member 6"));
List<Party> listOfParties = Lists.newArrayList();
listOfParties.add(firstParty);
listOfParties.add(secondParty);
List<Elector> electors = new ArrayList<>();
listOfParties.stream().forEach(party ->
party.getMembers().forEach(memberName ->
electors.add(new Elector(memberName,party.name))
)
);
}
class Party {
List<String> members = Lists.newArrayList();
String name = "";
public Party(String name, List<String> members) {
this.members = members;
this.name = name;
}
public List<String> getMembers() {
return members;
}
}
class Elector{
public Elector(String …Run Code Online (Sandbox Code Playgroud) 我正在使用docker compose来运行我的应用程序.为此,我需要在容器内设置主机(这取决于我正在运行的环境).
我的方法是:
创建环境文件并设置变量:
#application.env
SERVER_IP=10.10.9.134
Run Code Online (Sandbox Code Playgroud)
我的docker撰写文件看起来像:
version: '2'
services:
api:
container_name: myApplication
env_file:
- application.env
build: ./myApplication/
entrypoint: ./docker/api-startup.sh
ports:
- "8080:8080"
depends_on:
- redis
extra_hosts: &extra_hosts
myip: $SERVER_IP
Run Code Online (Sandbox Code Playgroud)
但我的问题是变量SERVER_IP永远不会被替换.
当我运行docker-compose配置时,我看到:
services:
api:
build:
context: /...../myApplication
container_name: myApplication
depends_on:
- redis
entrypoint: ./docker/api-startup.sh
environment:
SERVER_IP: 10.10.9.134
extra_hosts:
myip: ''
ports:
- 8080:8080
Run Code Online (Sandbox Code Playgroud)
我试图使用$ SERVER_IP或$ {SERVER_IP}替换变量引用,但它不起作用.