标签: java-7

Java swing JComboBox无法进行参数化

Eclipse IDE在Jcombobox上显示错误,该错误表明JcomboBox不能被参数化,例如:如下所示的行

private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
Run Code Online (Sandbox Code Playgroud)

这里我的项目执行环境是javaSE1.6

java generics swing jcombobox java-7

0
推荐指数
2
解决办法
6208
查看次数

Java7类型推断用于通用实例创建?

我们如何使用Java 7 Type推理进行通用实例创建功能?使用这种新风格有什么好处?

java java-7

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

我们可以在Java 7中同时使用资源和多捕获吗?

您好我们可以在Java 7中同时使用资源和多重捕获吗?我试图使用它,它给出了编译错误.我可能错误地使用它.请指正.

try(GZIPInputStream gzip = new GZIPInputStream(new FileInputStream(f));
    BufferedReader br = new BufferedReader(new InputStreamReader(gzip))
    {
         br.readLine();
    }
    catch (FileNotFoundException | IOException e) {
         e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢.

java java-7

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

Java 8 Collections.sort - 简单的拼写错误

基本上我有两个比较器(Comparator1和Comparator2),实现略有不同.两者都应按行的名称长度的降序对列表进行排序.

Comparator2似乎不适用于java7/java8.Comparator1始终有效.两者都适用于java 1.6实现,或者如果我设置-Djava.util.Arrays.useLegacyMergeSort = true.如果Comparator2中存在问题,则java应该抛出IllegalArgumentException,但不会抛出异常.

这在java文档中声明为"java.util.Arrays.sort使用的排序算法和java.util.Collections.sort(间接)使用的排序算法已被替换.如果新的排序实现检测到Comparable,则会抛出IllegalArgumentException违反可比较合约"

这是JRE中的错误还是Comparator2有问题?

public class Main {

public static void main(String[] args) {
    Row row1 = new Row("AAAA");
    Row row2 = new Row("BBB");
    Row row3 = new Row("CC");
    Row row4 = new Row("D");

    List<Row> list1 = new ArrayList<Row>();
    list1.add(row2);
    list1.add(row3);
    list1.add(row1);
    list1.add(row4);

    System.out.println("Before sorting:");
    System.out.println("");

    print(list1);

    Collections.sort(list1, new Comparator2());

    System.out.println("After sorting with comparator2:");
    System.out.println("");

    print(list1);

    Collections.sort(list1, new Comparator1());

    System.out.println("After sorting with comparator1:");
    System.out.println("");

    print(list1);

}

private static void print(List<Row> list) {
    for (Row row : list) …
Run Code Online (Sandbox Code Playgroud)

java sorting java-7 java-8

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

自执行Java方法

在JavaScript中,可以编写一个这样的自执行函数:

(function foo() {
    console.log("bar");
}());
Run Code Online (Sandbox Code Playgroud)

我希望用Java做到这一点.例如:

// This code does not work obviously
public static void main(String[] args) {
    (foo() {
        System.out.println("bar");
    }());
}
Run Code Online (Sandbox Code Playgroud)

有这样的事吗?

java java-7 self-executing-function

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

类型推断:Java 7类型参数

今天我们谈到了Java 7在我们公司的优势.从Java 7开始,可以定义以下行

Map<String, List<String>> myMap = new HashMap<String, List<String>>();
Run Code Online (Sandbox Code Playgroud)

Map<String, List<String>> myMap = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

我们对上述主题进行了长时间的讨论.我们中的一些人认为这是类型推断(如varC#中的关键字),并且类型将在运行时计算,其他人认为它只是一种更简单的方式来声明某个变量并且没有推断,因为类型是已知的编译时的上下文.

请提供澄清.技术如何运作?

编辑:官方Oracle文档没有提供有关该文档的精确文档.http://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html

java generics type-inference variable-declaration java-7

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

是否有一个Java框架实现了一个简单灵活的多用途比较器,可以与Java 1.7一起使用

有很多次我需要根据不同的字段对对象列表进行排序,最后我写了一个比较器,它使用反射来根据给定的方法或方法对列表进行排序.是否有一个框架已经实现了这样的东西?Java中是否存在已实现此功能的内容?(我在SO中搜索了java比较器框架,并提出了35次点击,似乎没有解决这个问题).

像这样的东西:

比较器根据给定的方法或方法进行比较:

package org.myframework.util.comparator;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SimpleComparator implements Comparator<Object> {

    //
    // instance variables
    //

    private ArrayList<Method> methods;

    //
    // constructors
    //

    public SimpleComparator() {
        this.methods = new ArrayList<Method>();
    }

    //
    // trivial getters and setters
    //

    public ArrayList<Method> getMethods() {
        return methods;
    }

    public void setMethods(ArrayList<Method> methods) {
        this.methods = methods;
    }

    //
    // implementation of compare
    //

    @Override
    public int compare(Object o1, Object o2) {
        for (Method …
Run Code Online (Sandbox Code Playgroud)

java sorting frameworks java-7

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

返回基于杰克逊的JSON正在有效载荷中添加额外的斜杠

我使用的是Java 1.7,RestEasy和Jackson的codehaus版本(用于JSON解析)......

有一个标准的Java POJO DTO,它基于Windows 7文件系统填充目录路径(作为String):

import org.codehaus.jackson.annotate.JsonProperty;

public class BackupDirDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonProperty("id")
    private Long id;

    @JsonProperty("backup-dir")
    private String backupDir;

    // Getters & Setters
}
Run Code Online (Sandbox Code Playgroud)

这是我的业务逻辑发生的层...它从数据库中获取实体的值并在DTO中设置属性:

public class DirectoryRepository {

    public BackupDirDTO getDirectoryById(Long id) throws Exception {
        DirectoryEntity entity = directoryRespository.getEntityById(id);
        BackupDirDTO dto = new BackupDirDTO();
        log.debug("Entity.getBackupDir: " + enity.getBackupDirectory());
        dto.setBackupDir(entity.getBackupDirectory());
        log.debug("dto.getBackupDirectory: " + dto.getBackupDir());
        return dto;
    }
}
Run Code Online (Sandbox Code Playgroud)

从我的log.debug()调用它看起来像这样(这是我想要的正确的字符串):

Entity.getBackupDir: "\\my-network-folder\backupDir"
dto.getBackupDirectory: \\my-network-folder\backupDir"
Run Code Online (Sandbox Code Playgroud)

这是RESTful Web服务调用:

public class DirectoryResource {

    private …
Run Code Online (Sandbox Code Playgroud)

java rest resteasy jackson java-7

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

Java7-比较方法违反了其一般约定(TimSort.java)

这是我得到的堆栈跟踪

Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
        at java.util.TimSort.mergeLo(TimSort.java:777)
        at java.util.TimSort.mergeAt(TimSort.java:514)
        at java.util.TimSort.mergeCollapse(TimSort.java:441)
        at java.util.TimSort.sort(TimSort.java:245)
        at java.util.Arrays.sort(Arrays.java:1512)
        at java.util.ArrayList.sort(ArrayList.java:1454)
        at java.util.Collections.sort(Collections.java:175)
        at xxx.sortDisplayFields(OfferFieldLayout.java:521)
Run Code Online (Sandbox Code Playgroud)

这是比较方法:

  public int compare(Field pObject1, Field pObject2)
{
    int compare = 0;              

   //...
    if (compare == 0)
    {
        if (pObject1.hashCode() <= pObject2.hashCode())
        {
            compare = -1;
        }
        else
        {
            compare =  1;
        }
    }

    return compare;
}
Run Code Online (Sandbox Code Playgroud)

我认为这是由于不尊重传递性而导致的:传递性:如果A> B和B> C,那么对于任何A,B和C:A>C。我试图提出一个反例,但我失败了在这里,任何帮助表示赞赏!

java sorting java-7

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

是否有可能捕获多个异常并在不使用多个catch语句的情况下对它们执行不同的逻辑?

至于在例外情况下执行不同的逻辑.如下:

catch (IOException e | IllegalArgumentException a) {

       e.doStuff();
       a.doStuff();
    }
Run Code Online (Sandbox Code Playgroud)

java exception java-7

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