小编Pan*_*hal的帖子

base64 url​​ safe removed =

以下代码(使用commons编解码器Base64):

  byte[] a = Hex.decodeHex("9349c513ed080dab".toCharArray());
  System.out.println(Base64.encodeBase64URLSafeString(a));
  System.out.println(Base64.encodeBase64String(a));
Run Code Online (Sandbox Code Playgroud)

给出以下输出:

k0nFE-0IDas         //should be k0nFE-0IDas=
k0nFE+0IDas=
Run Code Online (Sandbox Code Playgroud)

Base64.encodeBase64URLSafeString(a)返回k0nFE-0IDas而不是k0nFE-0IDas=.为什么会这样?

java base64 padding apache-commons-codec

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

在Linux中执行jar文件

我创建了一个可执行的Java .jar文件.也就是说,我在.jar文件中正确打包了一个java程序,包括一个META-INF/MANIFEST文件.

(顺便说一句,在安装了Java的大多数Windows机器上,.jar文件被注册为运行类似的东西javaw.exe -jar %1,所以你可以双击那些以这种方式准备好的jar.)

我只是将同一个文件复制到Linux中并试图做同样的事情.

但是,当我点击该文件时,它只是将jar作为zip文件打开,而不是调用java.

如何配置我的Linux系统,以便在双击jar文件时执行jar中的程序?也就是说,如何让我的系统调用类似于java -jar test.jar双击test.jar的东西?

java linux jar

3
推荐指数
1
解决办法
6万
查看次数

将2个集合转换为Map

我有2 ListList<String> aList<String> b相同的大小.

Map<String, String>使用lambdas或其他什么List<String> a键创建Java 8 的最有效方法List<String> b是什么?键是什么?

Java 7方式如下:

Map<String, String> map = new HashMap<String, String>();
for(int i=0;i<a.size();i++)
    map.put(a.get(i), b.get(i));
Run Code Online (Sandbox Code Playgroud)

java lambda dictionary java-8 java-stream

3
推荐指数
1
解决办法
103
查看次数

Java 8 将 HashSet 转换为 HashMap

我正在尝试使用 lambda 和 Collectors 转换hashsethashmapJava 8,但我失败了。下面是我的代码:

Set<String> set = new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
HashMap<String, Integer> map = set.stream().collect(Collectors.toMap(x -> x, 0));
Run Code Online (Sandbox Code Playgroud)

但上面给出的错误如下:

The method toMap(Function<? super T,? extends K>, Function<? super T,? extends U>) in the type Collectors is not applicable for the arguments ((<no type> x) -> {}, int)
Run Code Online (Sandbox Code Playgroud)

我是 lambda 的新手。有什么帮助吗?

java lambda dictionary set java-8

2
推荐指数
1
解决办法
6823
查看次数

空指针异常

我正在研究java中的一些项目.在这里,我坚持这个问题,无法弄清楚我哪里出错了.

我做了两个课:TestChild.

当我运行代码时,我得到一个NullPointerException.

package com.test;
public class Test {

    child newchild = new child();
    public static void main(String[] args) {
        new Test().method();
    }
    void method() {
        String[] b;
        b = newchild.main();
        int i = 0;
        while (i < b.length) {
            System.out.println(b[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
package com.test;
public class child {
    public String[] main() {
        String[] a = null;
        a[0] = "This";
        a[1] = "is";
        a[2] = "not";
        a[3] = "working";
        return a;
    }
}
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
230
查看次数

Android:PhoneStateListener:onCellLocationChanged

当我覆盖上面提到的函数,并记录CellLocation时,我收到以下值

[425,56301,-1]

当我漫游一下时,上面的值会变为

[425,56302,-1][425,56303,-1]

这些值代表什么?我认为56301是CellId.还有两个是什么?

android cellid phone-state-listener

0
推荐指数
1
解决办法
1680
查看次数