标签: java-6

将T [](其中T是Byte [])返回到Byte []

我有一个Java JUnit 4测试和一个创建通用数组的泛型类.当我创建一个返回此通用数组的方法时,我会在返回它时收到错误消息.如果我将ArrayList(其中T是通过类实例化的Byte)返回到ArrayList,它就可以工作.

为什么数组似乎被实例化和可用(在更复杂的类上测试)但我不能返回对该数组的引用?

错误:

java.lang.ClassCastException: [Lcom.waikato.assignment.Object; cannot be cast to [Ljava.lang.Byte;
at com.waikato.testing.TestJava.test(TestJava.java:20)
Run Code Online (Sandbox Code Playgroud)

类:

public class TestClass<T> {
    T[] array;

    @SuppressWarnings("unchecked")
    public TestClass() {
        array = (T[]) new Object[32];
    }

    public T[] getArray() {
        return array;
    }

    public boolean doThing() {
        T[] t = array;

        return t == array && t != null;
    }
}
Run Code Online (Sandbox Code Playgroud)

测试:

public class TestJava {

    @Test
    public void test() {
        TestClass<Byte> t = new TestClass<Byte>();
        Byte[] b = t.getArray(); // Crash caused

        assertTrue(t.doThing()); // …
Run Code Online (Sandbox Code Playgroud)

java arrays generics java-6

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

根据subList的大小排序列表?

我有一份清单.我想排序超级列表取决于子列表大小.列表是动态的.
列表类型是<ArrayList<ArrayList<HashMap>>>Eg.

[ [{key1=value1,key2=value2}],[],[{key1=value1}],[{key1=value1},{key2=value2},{key3=value3}]  ]  
Run Code Online (Sandbox Code Playgroud)

排序后应显示

[[{key1=value1},{key2=value2},{key3=value3}], [{key1=value1,key2=value2}],[{key1=value1}],[]  ]  
Run Code Online (Sandbox Code Playgroud)

你能帮忙解决这个问题吗?

提前致谢.
Laxman chowdary

java sorting arraylist java-6

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

数据结构,便于查找

我在java中寻找一个数据结构/算法,它执行以下操作 -

  1. 将数据集存储到某个数据结构中以便于查找
  2. 如果不存在完全匹配,请选择最接近的值(获取B的值)
  3. 如果恰好介于两者之间,请选择较高的A值来获得B.

我有一对数字,例如 -

A   B
80  0
76  1
64  3
56  4
48  10
Run Code Online (Sandbox Code Playgroud)

我只知道A的值,并且应该通过应用上述规则进行直接查找来找出/得出B的值.

例子 - 1

如果我得到80的值,则输出为0

示例 - 2

如果我得到75的值,则输出为1 [根据规则2]

示例 - 3

如果我得到70的值,则输出为1 [根据规则3]

有什么建议?

基于注释的更新 - 日志(N)查找是可以接受的.我愿意自己实施它,但需要有关如何实现它的建议.A的范围在0到1000之间变化,具有1位精度点.

java algorithm lookup java-6 data-structures

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

如何增加Integer对象的缓存大小

在阅读这个问题时

我知道我们可以通过这个评论来增加缓存的大小

最新版本的Java 6支持将最大缓存值更改为大于127

我谷歌它但没有发现做同样的事情.

请帮忙.

java caching java-6

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

无参数功能的标准接口

Java 6(或任何兼容库)标准接口是否存在无参数函数和泛型返回类型.

就像是:

interface Foo<T> {
      T call();
}
Run Code Online (Sandbox Code Playgroud)

java shared-libraries java-6

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

Java - 制作字节数组作为下载

我有一个字节数组 (byte[]) 形式的 zip 文件,我可以使用以下命令将其写入文件系统:

        FileOutputStream fos = new FileOutputStream("C:\\test1.zip");
        fos.write(decodedBytes);  // decodedBytes is the zip file as a byte array 
        fos.close();            
Run Code Online (Sandbox Code Playgroud)

我不想将其写入文件并读取它以将其作为下载,而是想将字节数组直接作为下载,我尝试了这个,

    response.setContentType("application/zip");
    response.setHeader("Content-Disposition", "attachment; filename=\"File.zip\"");
    ServletOutputStream outStream = response.getOutputStream();
    outStream.write(decodedBytes);  // decodedBytes is the zip file as a byte array 
Run Code Online (Sandbox Code Playgroud)

这不起作用,我得到空文件。如何将字节数组作为下载?

更新: 我添加了finally子句并关闭了ServletOutputStream并且它起作用了。

    }catch (Exception e) {
        Log.error(this, e);
    } finally {
        try{
            if (outStream != null) {
                outStream.close();              
            }
        } catch (IOException e) {
            Log.error(this, "Download: Error during closing resources");
        }
    }
Run Code Online (Sandbox Code Playgroud)

Pankaj 解决方案也有效。

java java-6

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

TLSv1.2+BouncyCastle+Apache httpclient 4.4

参考How to use TLS 1.2 in Java 6 中提供的解决方案,是否可以将 TSLSocketConnectionFactory 与 Apache HttpClient4.4 一起使用。

问候, j

ssl bouncycastle java-6

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

如何比较java.sql.Timestamp和java.util.Date

我知道java Date的设计很差,但是直到今天我都不知道。

我将日期保存到数据库中,当我从数据库中获取日期并与原始日期进行比较时,它告诉我这是不同的!

我写了一个看起来很奇怪但合格的测试!

@Test
public void date_equals() {
    Date now = new Date();
    Timestamp timestamp = new Timestamp(now.getTime());

    assertFalse(timestamp.equals(now));
    assertTrue(now.equals(timestamp));

    assertTrue(timestamp.compareTo(now) == 0);
    assertFalse(now.compareTo(timestamp) == 0);

    assertTrue(timestamp.getTime() == now.getTime());
    assertTrue(now.getTime() == timestamp.getTime());
}
Run Code Online (Sandbox Code Playgroud)

我注意到java.sql.Timestamp与Date稍有不同,我不在乎。

谁能告诉我如何比较这两种最佳做法?我不想在任何地方都比较日期使用getTime()的情况,是否有任何通用库或其他方法可以做到这一点?

顺便说一句,我正在使用JDK 6

java mysql date java-6 sql-timestamp

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

为什么Kotlin字节码引用java.util.function.BiConsumer?

从我的理解科特林应该能够使用JRE 6运行,但这个代码用foreach在地图上失败,因为对一个Java类8引用(java/util/function/BiConsumer)

CompilerTest.kt:

fun main(args: Array<String>) {
  val aMap = mapOf("bar" to "bat")
  aMap.forEach { k, v -> println("$k -> $v")}
}
Run Code Online (Sandbox Code Playgroud)

编译Kotlin代码:

» kotlinc CompilerTest.kt -jvm-target 1.6 -include-runtime -d compilerTest.jar
Run Code Online (Sandbox Code Playgroud)

在JRE 6上测试已编译的代码:

» docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:6-jdk-slim java -jar compilerTest.jar
Exception in thread "main" java.lang.NoClassDefFoundError: java/util/function/BiConsumer
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at …
Run Code Online (Sandbox Code Playgroud)

java compilation java-6 kotlin

3
推荐指数
2
解决办法
1787
查看次数

java.util.spi包有什么用?

只见java.util.spi包,好像有一些班,后缀Name,Data,ControlService Providers.一些类中new(Since 1.8)和一些存在的类Java 1.6.我找不到太多资源来理解这个spi包的用法.

是否有人在spi包中使用这些类?如果是这样,请告诉我这些类的用途是什么?

java package java-6 java-8

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