当前位置: 首页 > 面试题库 >

“ [B””是哪种Java类型?

祖迪
2023-03-14
问题内容

我正在尝试通过Java代码(hibernate)从MySQL DB获得MD5加密的通行证。但是我既不能得到String也不能得到任何合理的Java类型。

我得到的唯一消息是此无用的消息: java.lang.ClassCastException:[B不能转换为com.mysql.jdbc.Blob
(或我尝试转换为的任何Java类型)。

这是我的方法:

public void testCrypto() {
        session.beginTransaction();
        // creates native SQL query
        // uses native MySQL's MD5 crypto
        final Blob pass = (Blob) session.createSQLQuery("SELECT MD5('somePass')")
            .list().get(0);
        session.getTransaction().commit();
}

这是完整的堆栈跟踪:

java.lang.ClassCastException: [B cannot be cast to com.mysql.jdbc.Blob
    at domain.DatabaseTest.testCrypto(DatabaseTest.java:57)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at junit.framework.TestCase.runTest(TestCase.java:168)
    at junit.framework.TestCase.runBare(TestCase.java:134)
    at junit.framework.TestResult$1.protect(TestResult.java:110)
    at junit.framework.TestResult.runProtected(TestResult.java:128)
    at junit.framework.TestResult.run(TestResult.java:113)
    at junit.framework.TestCase.run(TestCase.java:124)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

问题答案:

我的朋友是一个字节数组。在JNI中,[B用于描述[字节(B)的数组()。整数数组[I等。

您可以在此处获取有关字段描述符的更多信息:
JNI类型和数据结构(表3-2应该是您所要的)。



 类似资料:
  • 在网上搜索和阅读了关于设计模式的文章后,我发现了三种类型,即行为型、创造型和结构型设计模式(GOF)。

  • 问题内容: 例: 在package中,类型定义一个包装方法的接口。 什么是最简单的方法 找出 哪些类型 的标准库(即在此列在golang.org/pkg) 满足这个接口 ? 这仅仅是经验问题还是有其他帮助吗? 问题答案: 主要是根据经验。无论如何,例如: 而且golang.org网站还具有区分大小写的搜索功能。

  • 本文向大家介绍Java中异常分为哪些种类?相关面试题,主要包含被问及Java中异常分为哪些种类?时的应答技巧和注意事项,需要的朋友参考一下 按照异常需要处理的时机分为编译时异常(也叫受控异常)也叫 CheckedException 和运行时异常(也叫非受控异常)也叫 UnCheckedException。Java认为Checked异常都是可以被处理的异常,所以Java程序必须显式处理Checked

  • 问题内容: 编写了很多解析器。到目前为止,我一直使用HtmlUnit无头浏览器进行解析和浏览器自动化。 现在,我想将两个任务分开。 由于我80%的工作仅涉及解析,因此我想使用简单的HTML解析器,因为在HtmlUnit中花很多时间才能首先加载页面,然后获取源然后解析它。 我想知道哪个HTML解析器是最好的。如果解析器与HtmlUnit解析器接近,则解析器会更好。 编辑: 最好的情况是,我至少需要以

  • 我在爪哇有一个字符串s=“abc”。什么是 s[0] 类型?它不是字符串类型吗? 我尝试用Java打印它,但它显示“表达式的类型必须是数组类型,但它解析为字符串”; 在此输入图像描述

  • 函数,我正在尝试访问令牌(末尾的注释行不起作用): 在这里可以看到调试器内部的结构: