在获得Java 8流程的过程中,以下练习阻止了我.
鉴于
IntStream.range(0, 6).生成以下字符串流:Run Code Online (Sandbox Code Playgroud)"0, 1" "1, 2" "2, 3" "3, 4" "4, 5"
我想使用Collectors.collectAndThen将它传递给好的旧列表或数组并循环以构造字符串列表,如下所示:
List<String> strgs = new ArrayList<>();
String prev = String.valueOf(nums[0]);
for (int i = 1; i < nums.length; i++) {
strgs.add(prev+", "+String.valueOf(nums[i]));
prev = String.valueOf(nums[i]);
}
Run Code Online (Sandbox Code Playgroud)
但它没有使用流的力量.我觉得Venkat Subramaniam说"我之后想洗个澡".我想知道如何应用功能技术,所以我可以在编码后跳过洗澡!
另外,我想避免像StreamEx或JavaRx这样的库,我想坚持使用普通的Java 8 API.
编辑:@Tunaki,谢谢你在我的问题中指出不清楚的措辞.它是由Stream的两个连续元素组成的对.更具体的,像小溪[1, 3, 5, 7, 9, ...]会
"1, 3"
"3, 5"
"5, 7"
...
Run Code Online (Sandbox Code Playgroud)
编辑2
在向所有答案致敬之后,虽然我的问题与Tunaki指出的另一个问题重复.我想扩展一个社区讨论,以寻找Bohemian提供的答案.虽然他的回答不被一些人所厌恶,但它提出了一个严重的问题,即减少手术的副作用.我向社区提出的要求是为该问题提供合理的反有效技术.因此我想重用波希米亚的答案如下:
给定输入:nums = new int [] {1,3,5,7,9}
请考虑以下代码段:
List<CharSequence> stringList = new ArrayList<>();
IntBinaryOperator reductionWithSideEffect …Run Code Online (Sandbox Code Playgroud) 在Spring 3.2项目中,我正在引导一个具有注入属性的服务bean.使用属性文件中的@Required @Value(...)注入该属性.我确信属性文件可以通过spring上下文很好地识别出来.
请查看以下服务等级:
@Service
public class SomeService {
private String aURIString;
@Required
@Value("${someUrl}")
public void setaURIString(String aURIString) {
this.aURIString = aURIString;
}
private URI oamURI;
public SomeService() throws Exception {
super();
try {
oamURI = new URI(aURIString);
} catch (URISyntaxException e) {
throw new Exception("URISyntaxException created while creating a URI instance for url= "+aURIString);
}
}
}
Run Code Online (Sandbox Code Playgroud)
另请参阅下面的配置类
@Configuration
@EnableWebMvc
@PropertySource({ "classpath:filter.properties" })
@ComponentScan(basePackages = { "com.someOrg.SomePrj" })
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public static PropertySourcesPlaceholderConfigurer properties() …Run Code Online (Sandbox Code Playgroud)