小编Joa*_*uer的帖子

函数Java中没有允许的异常

在C++中,我可以声明一个不能进一步抛出异常的函数

int myfunction (int param) throw(); // no exceptions allowed
Run Code Online (Sandbox Code Playgroud)

我可以用Java编程语言进行这样的声明吗?

java exception function

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

Google的libphonenumber有多准确?

我想将Google的libphonenumber库合并到我正在研究的CRM解决方案中,以识别以下内容:

  • 电话号码是移动电话还是固定电话
  • 地理位置的数字

我已经在线进行了一些搜索,似乎无法找到任何讨论库用于确定此信息的算法,以及这些方法的可靠性.

是否有任何此类文档(即这些算法的详细信息及其各自的可靠性)?或者真的,有什么可以帮助我理解这个库的封面发生了什么?

libphonenumber

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

HashSet不会拒绝第二次添加调用

我刚刚开始使用Collection,我已经编写了代码来测试 HashSet

这是代码(Person.java):

public class Person
{
  int id;

  public Person(int id)
  {
    this.id=id;
  }

  public int getId()
  {
    return id;
  }

  public void setId(int id)
  {
    this.id=id;
  }

  public boolean equals(Object o)
  {
    if (o instanceof Person)
    {
      Person p=(Person)o;
      if (this.id==p.id)
        return false;
      else
        return true;
    }
    else return false;
  }

  public int hashCode()
  {
    return 21*id;
  }
}
Run Code Online (Sandbox Code Playgroud)

和Implementation类,只是一个简单的类:

import java.util.*;

class HashSetTest
{
  public static void main(String[] args)
  {
    Set<Person> set=new HashSet<Person>();
    Person p1=new Person(6);
    Person …
Run Code Online (Sandbox Code Playgroud)

java collections hashset

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

将List转换为MultiKeyMap时,为什么不会出现编译错误?

我刚刚遇到一段代码,它将一个aList转换成一个MultiKeyMap调用一个带有MultiKeyMapas参数的方法的代码:

someMethod ((MultiKeyMap) myList);
Run Code Online (Sandbox Code Playgroud)

哪里myListList.

当然,它会ClassCastException在运行时抛出.为什么它没有显示编译错误或至少有一个警告"类型安全:未经检查的强制转换",因为在尝试将其Collection转换为Map?两种类型都没有任何共同之处.

java casting

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

将元素添加到wildchar列表会导致编译错误

我有一个列表包含未来的任务,未来的类型是未知的,所以我创建一个带通配符类型的列表?,但是当我向列表中添加一个元素时,就会发生编译错误.

这是代码:

private List<Pair<String, Future<?>>> futureTasks = Collections.synchronizedList(
        new ArrayList<Pair<String, Future<?>>>(8));

// taskId is a string
futureTasks.add(Pair.makePair(taskId, getExecutors().submit(
    new Callable<String>() {
        public String call() {
            try {
                return exportAccountSrcTask(tmpFile); // return a string
            } catch (Exception e) {
                logger.error("failed to export account src", e);
            }
            return null;
    }}))
);
Run Code Online (Sandbox Code Playgroud)

编译错误:

add(Pair<String,Future<?>>)类型中的方法List<Pair<String,Future<?>>>不适用于参数(Pair<String,Future<String>>)

java generics

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

为什么String.split()在这里返回额外的元素?

我试图使用regexp分割一个字符串,它返回数组中的额外元素.请帮忙.以下是该计划:

public class Test {
    public static void main(String[] arg){
    String str1 = "{abc}{def}";
    String delim = "[{}]+";

    String[] tokens = str1.split(delim);

    for (int i = 0; i < tokens.length; i++) {
        System.out.println("token value: "+ tokens[i]);
        }        
    }    
}
Run Code Online (Sandbox Code Playgroud)

输出:

token value: 
token value: abc
token value: def
Run Code Online (Sandbox Code Playgroud)

为什么第一个令牌空字符串?怎么解决这个问题?

java regex

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

Java 1.6中的日历 - 奇怪的结果

我用这个代码:

        java.util.GregorianCalendar cal1 = new java.util.GregorianCalendar();
        cal1.set(java.util.Calendar.HOUR, 22);
        cal1.set(java.util.Calendar.MINUTE, 20);
        cal1.set(java.util.Calendar.SECOND, 0);

        System.out.println(">>> date=" + cal1.getTime());
Run Code Online (Sandbox Code Playgroud)

当我在15:58运行它打印:

date = Thu Jun 13 10:20:00 CEST 2013

当我在07:00运行它打印:

date = Wed Jun 12 22:20:00 CEST 2013

我总是需要它来打印最后的结果.我可能做错了什么,但我想知道这两个结果的原因取决于我运行它的时间.

java calendar date

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

git lfs 迁移后损坏的 git repo

git lfs migrate 的不当使用——一切以某种方式生成了一个 .gitattributes 文件,其中包含每个已知的文件类型。这基本上破坏了我们的项目,因为每种类型的所有文件现在看起来都像这样:

    version https://git-lfs.github.com/spec/v1
    oid sha256:f6d1237f5b00a49b32cca659d9764fc16cf012ea887c3007bf9a2120d7e9fef4
    size 792
Run Code Online (Sandbox Code Playgroud)

..贯穿整个回购历史。包含目录的文件大小仍然大致相同,这让我希望有一种方法可以恢复它,但我自己无法解决。

由于异常情况,这个 repo 还没有在 github 上 - 如果需要,我们可以恢复到 repo 的副本,但这意味着失去几天的工作。

有没有办法撤销lfs命令?

这就是 .gitattributes 文件最终以某种方式生成的方式:

*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.collabignore filter=lfs diff=lfs merge=lfs -text
*.gitignore filter=lfs diff=lfs merge=lfs -text
*.xml filter=lfs diff=lfs merge=lfs …
Run Code Online (Sandbox Code Playgroud)

git git-lfs

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

在 Java 类文件中使用 0xcafebabe 来识别字节顺序?

是否0xcafebabe使用 Java 类文件来识别字节顺序,例如在网络类加载器中?java 类可以被序列化并通过网络发送到另一台机器,以便通过网络类加载器加载来远程执行。这样的场景,是0xcafebabe用来看看是“0xbabecafe”还是“0xcafebabe”?

我想答案是否定的,但可以肯定。我认为 .class 文件中的字节顺序总是大端的,我总是0xcafe在任何机器的文件系统的顶部看到。当一个类被序列化时,我想它总是在大端(对吗?)。当 .class 或序列化类通过网络逐字节发送时,会保留字节序。因此我们不必自己处理字节顺序。

请告知这是否正确,或者如果存在不正确的情况,请予以纠正。并且0xcafebabe只是一个标记来告诉“这个文件可以是一个java类文件”。

java .class-file

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

Java openjdk 错误:无法加载库(java awt)

我尝试运行 java awt 程序,但出现以下错误:

我正在使用 lubuntu 18.04 和 openjdk 11

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
    at java.base/java.lang.Runtime.load0(Runtime.java:768)
    at java.base/java.lang.System.load(System.java:1837)
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
    at java.base/java.lang.System.loadLibrary(System.java:1873)
    at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1399)
    at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1397)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1396)
    at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1429)
    at java.desktop/java.awt.Component.<clinit>(Component.java:621)
Run Code Online (Sandbox Code Playgroud)

这是我在编辑器中编写的代码:

class calculator extends Frame{  
    calculator(){  
    Button b=new Button("click me");  
    b.setBounds(30,100,80,30);  
    add(b);  
    setSize(300,300); 
    setLayout(null);  
    setVisible(true); 
    }  
    
    public static void main(String args[]){  
    calculator f=new calculator();  
    }}  
Run Code Online (Sandbox Code Playgroud)

我可以在 openjdk …

java java-11 openjdk-11

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