我尝试了以下Java 8代码片段peek.
List<String> list = Arrays.asList("Bender", "Fry", "Leela");
list.stream().peek(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但是控制台上没有打印出任何内容.如果我这样做:
list.stream().peek(System.out::println).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
我看到以下内容同时输出了peek和foreach调用.
Bender
Bender
Fry
Fry
Leela
Leela
Run Code Online (Sandbox Code Playgroud)
两者foreach并peek接受一个 (Consumer<? super T> action)
为什么输出不同?
我知道DerivedData使用Xcode 更改位置的方法(首选项->位置-> DerivedData ..)。
但是,我要构建的Mac位于仅ssh访问权限的远程位置。我想建立一个特定的项目,并在其中保留DerivedData相对于该项目的位置。
每当我使用构建项目时xcodebuild,文件最终都会在下生成,/Users/builduser/Library/Developer/Xcode/DerivedData但是我希望它们在$ PROJECT / target / DerivedData下
相当于通过XCode可以更改DerivedData位置设置的命令行是什么?
使用 Spring 5.0.3 使用BeanDefinitionRegistryPostProcessor. 代码如下:
class MyBDRRPP implements BeanDefinitionRegistryPostProcessor {
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
// values - hardcoded for now
List<String> values = Arrays.asList("1", "22", "333");
registry.registerBeanDefinition("myDynamicBean",
BeanDefinitionBuilder.genericBeanDefinition(List.class, () -> values);
}
}
// Register MyBDRRPP with ApplicationContext - not shown here
// Consumer of the dynamic bean
class MyConsumer {
MyConsumer(@Qualifier("myDynamicBean") List<String> data) {
// do something with data
}
}
Run Code Online (Sandbox Code Playgroud)
当 MyConsumer 类连接时,我收到此异常
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.List<java.lang.String>' available: …
我有以下要使用 Jackson 2.9.x 序列化的 POJO
static class MyData {
public Map<String, MyInnerData> members;
}
static class MyInnerData {
public Object parameters;
public boolean isPresent;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我使用以下示例代码填充数据,如下所示:
Map<String, Object> nodeMap = new LinkedHashMap<>();
nodeMap.put("key-one", "val1");
nodeMap.put("key-null", null);
nodeMap.put("key-two", "val2");
Map<String, Object> child1 = new LinkedHashMap<>();
child1.put("c1", "v1");child1.put("c2", null);
nodeMap.put("list", child1);
MyInnerData innerData1 = new MyInnerData();
innerData1.parameters = nodeMap;
innerData1.isPresent = true;
MyData myData = new MyData();
myData.members = new LinkedHashMap<>();
myData.members.put("data1", innerData1);
// serialize the data
ObjectMapper mapper = new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL); …Run Code Online (Sandbox Code Playgroud) 如何从一个阶段读取的YAML文件中读取数据,并在另一阶段或该阶段之外使用它?
pipeline {
agent any
environment {
MY_ENV_VAR1 = 'VALUE1'
}
parameters {
string(name: 'DEPLOY_ENV', defaultValue: 'staging', description: 'Environment to deploy on')
booleanParam(name: 'DEBUG_BUILD', defaultValue: true, description: 'Debug the build')
}
stages {
stage('Stage1') {
steps {
script {
def datas = readYaml file: 'release.yml'
echo "Got version as ${datas.version} "
}
echo "Deploying to ${params.DEPLOY_ENV} with debug=${params.DEBUG_BUILD}"
}
}
stage('Stage 2') {
steps {
sh 'run.sh datas.version'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想访问其中Stage 2提取的$ {datas.version}内部步骤Stage 1。 …
我是Objective-C的新手.XCode突出显示以下代码作为问题.
_myCookies是我班级的私有变量,我存储收到的cookie.
@implementation MessageSender {
NSArray *_myCookies;
}
...
// Socket open callback
- (void) gotData:(MySocket *) socket {
NSDictionary *responseHeaders = (__bridge NSDictionary*)CFHTTPMessageCopyAllHeaderFields(socket.HTTPHeaders);
_myCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:responseHeaders
forURL:[NSURL URLWithString:@""]];
}
Run Code Online (Sandbox Code Playgroud)

突出的问题是:
我该如何解决这个问题?我正在使用ARC.我想将cookie存储在我的类中,以便稍后在发送请求时使用它们,但是我想让套接字处理它的responseHeaders.