小编djb*_*djb的帖子

将字节数组转换为IntStream的最佳方法是什么?

Java 8具有java.util.stream.Stream和java.util.stream.IntStream类型.java.util.Arrays有一个方法

IntStream is = Arrays.stream(int[])
Run Code Online (Sandbox Code Playgroud)

但是没有这样的方法可以从byte [],short []或char []创建IntStream,将每个元素扩展为int.是否有一种从byte []创建IntStream的惯用/首选方法,所以我可以以函数方式操作字节数组?

我当然可以手动将byte []转换为int []并使用Arrays.stream(int []),或者使用IntStream.Builder:

public static IntStream stream(byte[] bytes) {
   IntStream.Builder isb = IntStream.builder();
   for (byte b: bytes) 
       isb.add((int) b); 
   return isb.build();
}
Run Code Online (Sandbox Code Playgroud)

但是由于复制了源代码,它们都不是很有用.

似乎没有一种简单的方法可以将InputStream(或者在本例中为ByteArrayInputStream)转换为IntStream,这对于在功能上处理InputStream非常有用.(明显遗漏?)

是否有更有效且不复制的功能方式?

java arrays java-8 java-stream

14
推荐指数
2
解决办法
6932
查看次数

尽管有明确的插件和 pluginManagement 版本,为什么 Maven 使用了错误的插件?

我的父 pom明确声明对 maven-javadoc-plugin 2.9.1 的依赖

<pluginManagement>
   <plugins>
     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9.1</version>
     </plugin>
        ...
Run Code Online (Sandbox Code Playgroud)

    <reporting>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
         <version>2.9.1</version>
         ...
Run Code Online (Sandbox Code Playgroud)

(请参阅pom 中的 Maven 插件版本(似乎)已忽略)并mvn help:effective-pom显示正在使用 2.9.1。但是,构建使用的是 2.10,这会导致构建失败(请参阅 maven-javadoc-plugin 中断 mvn release:performhttp://jira.codehaus.org/browse/MJAVADOC-407

mvn help:describe -DgroupId=org.apache.maven.plugins \
                  -DartifactId=maven-javadoc-plugin
Run Code Online (Sandbox Code Playgroud)

显示

    Name: Apache Maven Javadoc Plugin
    Description: The Apache Maven Javadoc Plugin is a plugin that uses the
      javadoc tool for generating javadocs for the specified project.
    Group Id: org.apache.maven.plugins
    Artifact Id: maven-javadoc-plugin
    Version: 2.10 …
Run Code Online (Sandbox Code Playgroud)

maven maven-javadoc-plugin maven-dependency-plugin

5
推荐指数
1
解决办法
1677
查看次数

无法运行mksdcard sdk工具ubuntu 16.04 64bit

我下载了android studio,我试图在ubuntu 16.04 64位上安装,但它有"unable to run mksdcard sdk tool"错误.

我检查了所有解决方案但它们也产生了错误.

apt-get命令日志

android-studio ubuntu-16.04

5
推荐指数
1
解决办法
8132
查看次数

当Maven父pom启用时,如何在子项目中禁用Cobertura?

我有许多项目从父母pom继承.我通过在Jenkins CI构建中激活的Maven配置文件在父级中启用Cobertura覆盖率报告.但是,我想为一个子项目禁用Cobertura (同时从父pom获取其他所有内容).实现这一目标的最佳方法是什么?

我的第一个想法是使用:

                    <configuration>
                        <instrumentation>
                            <excludes>
                                <exclude>**/*.class</exclude>
                            </excludes>
                        </instrumentation>
Run Code Online (Sandbox Code Playgroud)

但我宁愿跳过整个步骤,也不会生成"空"的覆盖率报告.

cobertura maven

4
推荐指数
1
解决办法
4884
查看次数

Java线程的ANTLR解析器是否安全?

ANTLR(v3.2)生成的Java解析器线程是否安全?

例如,在servlet请求处理程序中,我可以重用相同的解析器实例来解析请求主体吗?请求可能出现在不同的线程上,因此必须以线程安全的方式进行解析.如果实例是线程安全的,我可以在每个请求中重用相同的实例; 否则我必须汇集它们或创建新实例.该ANTLRv3常见问题是线程安全沉默.

关于这个有一个古老的(2000)jGuru问题,那里的答案是,

通常这个问题实际上是在问:"我可以创建同一个解析器的多个实例并同时解析多个输入流吗?"

做出错误的假设.

由于在ANTLR FAQ中没有提到,我假设解析器不是线程安全的.

antlr thread-safety

4
推荐指数
1
解决办法
790
查看次数