Java 使用问题汇总
文章平均质量分 52
小英子架构
这个作者很懒,什么都没留下…
展开
-
如何创建泛型java数组
上述代码在编译期能够通过,但因为泛型擦除的缘故,在程序执行过程中,数组的类型有且仅有。数组是不能通过泛型创建的,因为我们不能创建不可具体化的类型的数组。类型存在,这个时候如果我们强制转化为。类型的话,在运行时会有。翻译 2024-09-18 18:36:05 · 65 阅读 · 0 评论 -
用java怎么创建一个文件并向该文件写文本内容
作为 Java 7 附加部分的native I/O,提供了简单高效的方法来实现你的目标。如果已经有想要写到文件中的内容,java.nio.file.Files。下面是一个小程序来创建和写文件。,但是它使用的是默认编码,这不是很好的方法,最好是明确指定编码。基本上创建文件,写文件只需要一行,而且是只需一个方法调用!创建一个文本文件(注意:如果该文件存在,则会覆盖该文件)下面的例子创建并且写了6个不同的文件来展示是怎么使用的。下面是来自于prior-to-java-7的原始方法。翻译 2024-09-17 20:16:06 · 63 阅读 · 0 评论 -
Java:如何便捷地将两个数组合到一起
注意,泛型的方案不适用于基本数据类型(int,boolean……原创 2024-09-15 07:59:14 · 160 阅读 · 0 评论 -
如何避免在JSP文件中使用Java代码
这会让页面更加容易阅读和维护,帮助将 业务逻辑 从 表现层逻辑 中分离,也会让页面往更符合JSP 2.0风格的方向发展(JSP 2.0规范中,支持但是极大弱化了JSP scriptlets语法)相应的,JSP scriptlets语法在传送一些服务端返回的处理客户端请求的数据(也称为value objects)的时候会被使用。Web应用程序都需要关心的问题,scriptlets 并没有为这个问题提供良好的解决方案,至少没有标准的Java API的解决方案。)这种做法,就确实已经是不被鼓励使用的做法了。翻译 2024-09-14 09:39:39 · 157 阅读 · 0 评论 -
Java的foreach循环是如何工作的?
此外,如果for(:)句法中右侧是一个数组而不是一个可迭代对象,那么内部代码用一个int型的计数器来防止数组越界。记住,如果需要在循环中使用i.remove;或者以某种方式获取实际的iterator,你不能使用for(:)语法,因为实际的Iterator很难被推断出来。正如Denis Bueno写的那样,这种代码对任何实现了Iterable接口的对象都奏效。如果不用for each语法,等价的循环语句是什么样的?翻译 2024-09-14 09:38:41 · 28 阅读 · 0 评论 -
Java:JUnit4如何断言确定异常的抛出
在JUnit4单元测试中,我要怎样做才能测试出有特定的异常抛出?类型,如果方法调用中抛出了这个异常,那么这条测试用例就相当于通过了)方法之前就已经抛出异常的话,测试结果就不是我们想要的了。属性,你可以用它来指定一个。还能够验证异常信息,如。要更好,如果是在调用。翻译 2024-09-13 09:49:27 · 45 阅读 · 0 评论 -
Java:假设,我有一个web服务器可以支持无数的servlets,对于通过这些servlets的信息,我正在获取这些servlets的上下文环境,并设置session变量。
只要webapp存在,ServletContext 一定会存在。并且ServletContext 是被所有session和request共享的。只要客户端用同一个浏览器和webapp交互并且该session没有在服务端超时,HttpSession 就会一直存在。并且在同一个会话中所有请求都是共享的。只有当完整的response响应到达,HttpServletRequest 和 HttpServletResponse才不再存活,并且不被共享。翻译 2024-09-13 09:48:43 · 79 阅读 · 0 评论 -
如何对Java class文件进行反编译
采用不同的方法,它尝试输出等效的Java代码,而不是尝试重建原始源,这有可能使混淆代码更好。根据我的测试,它与Procyon大致相当,但仍然很高兴有不同的东西。积极开发,有趣的是它是用Python编写的。正如Salvador Valencia在评论(2017年9月)中所说 javadecompiler提供了一个SaaS,您可以将.class文件上传到云端,并返回反编译代码。由Pavel Kouznetsov先生编写的着名Java反编译器JAD支持的最新Java版本是JDK 1.3。翻译 2024-09-12 10:32:24 · 78 阅读 · 0 评论 -
Java:如何从文件里读取字符串
如果你的程序需要处理很大的文本文件,在设计的时候就要考虑,分配一块固定的缓存,每次从流中读入文件的一部分放入缓存,处理,然后清空缓存,把下一部分读入缓存,直到处理完所有的数据。第一个方法,一次读取所有文本的方法,占用内存较多,因为它一次性保留了文件的所有原始信息,包括换行符之类的“无用”字符。不同的平台有自己的默认编码,所以有时候你的程序需要指定编码,来保持平台无关/跨平台。Java 7 提供了一个方便的方法可以直接将文件中的文本一行一行读入,存放在一个List容器里。这里的“很大”是相对于计算机性能的。翻译 2024-09-12 10:31:05 · 124 阅读 · 0 评论 -
在java中如何对比(compare)string
因此, 值的对比,一般都是用equals方法。字符串字面量之间的对比,也可以用==(大家知其所以然即可,但没必要用==)下面多举个字符串字面量的例子,下面代码中,前四个对比,返回true,最后一个返回false。##在java中如何对比(compare)string。因此,如果你想检查两个字符串是否为相同值,那么应该用。原创 2024-09-11 09:47:17 · 311 阅读 · 0 评论 -
Java:能否在一个构造器中调用另一个构造器
请注意,在构造器中,你只能调用一次其他的构造器。并且调用其他构造器的语句,必须是这个构造器的第一个语句。如果你想调用一个特定的父类构造器,而不是本类的构造器,应该使用super,而不是this.能否在一个构造器中调用另一个构造器(在同一个类中,不是子类)?调用另一个构造器的最好方法是什么(如果有几种方法可以选择的话)?##能否在一个构造器中调用另一个构造器。翻译 2024-09-11 09:46:22 · 29 阅读 · 0 评论 -
Java:如何测试一个数组是否包含指定的值
现在制定一个值 s,有哪些比较好的方式,判断这个数组 VALUES 是否包含值 s?翻译 2024-09-10 06:50:12 · 49 阅读 · 0 评论 -
Java:如何让IntelliJ编辑器永久性显示代码行数
如何让IntelliJ编辑器永久性显示代码行数。翻译 2024-09-10 06:49:24 · 33 阅读 · 0 评论 -
Java:如何在整数左填充0
Guava 是非常有用的库,它提供了很多有用的功能,包括了Collections, Caches, Functional idioms, Concurrency, Strings, Primitives, Ranges, IO, Hashing, EventBus等。如果需要在Java 1.5前使用,可以利用 Apache Commons Language 方法。如果效率很重要的话,相比于 String.format 函数的可以自己实现。举例 1 = “0001”自己的实现:1697ms。翻译 2024-09-09 09:16:33 · 87 阅读 · 0 评论 -
Java:怎么在Java中初始化一个静态的map
我想到的两种方法如下,大家是否有更好的建议呢?:static初始化器:实例初始化(匿名子类)下面是描述上面两种方法的例子。翻译 2024-09-09 09:15:52 · 135 阅读 · 0 评论 -
Java:如何计算MD5值
它会以当前平台的默认编码来转换数据。不同平台的默认编码可能是不同的,这可能会导致你的数据不一致。和 String 时,一定要显式声明你的数据编码类型。Java中有没有方法可以计算一个String的MD5值?如果你的要计算的数据量很大,你可以循环使用。的MD5实例来计算String的MD5值。方法来得到计算出的MD5值。翻译 2024-09-08 10:59:45 · 57 阅读 · 0 评论 -
Java:如何使用maven把项目及其依赖打包为可运行jar包
我想把java项目打包为可运行的分布式jar包。我该怎样做,才能把项目中maven所依赖的jar包导入到我的项目jar包中?(译注:执行完后,会在你的maven项目的target目录下,生成想要的jar包,而不再需要使用。通常情况下,上述maven命令执行后会自动绑定到项目的构建阶段,从而保证了以后在执行。之前,否则打包后的jar包内将不会有你的编译代码。可以被省略,若省略则按照下述默认的配置执行)怎样去运行打包后的可运行jar包?(译注:下面是实际上完整的默认的。命令时的jar包也会被构建。翻译 2024-09-08 10:58:56 · 75 阅读 · 0 评论 -
Java:怎样将堆栈追踪信息转换为字符串
可以用下面的方法将异常堆栈信息转换为字符串类型。该类在Apache commons-lang-2.2.jar中可以找到:org.apache.commons.lang.exception.ExceptionUtils.getStackTrace(Throwable)用 Throwable.printStackTrace(PrintWriter pw)的结果转换为一个字符串来来描述堆栈信息的最简单的方法是什么。翻译 2024-09-07 09:40:33 · 74 阅读 · 0 评论 -
Java:获取完整的堆栈信息
捕获了异常后,如何获取完整的堆栈轨迹(stack trace)翻译 2024-09-07 09:39:14 · 17 阅读 · 0 评论 -
Java 产生指定范围的随机数
问题,如何使用 java 产生 010 之间的随机数?Math.random() 可以产生一个0 且那如何产生 “5翻译 2024-09-06 09:26:56 · 143 阅读 · 0 评论 -
Java:加载JNI共享库失败(JDK)
我也在Google和Stack Overflow搜索解决方法,我找到唯一的方法是下载一个32位版本的JDK和Eclipse。·我的Eclipse和Java SE Development Kit都是64位的。我检查我的系统,它能处理64位。下载32位版本是我没办法下的办法。但还有其他的解决方法吗?·我检查那个路径有没有存在什么,真的有存在。然后,Eclipse会强制关闭。加载JNI共享库失败(JDK)·64位的Eclipse。翻译 2024-09-06 09:26:19 · 113 阅读 · 0 评论 -
Java 源码里的设计模式
service() 和 所有 doXXX() 方法都以 HttpServletRequest 和 HttpServletResponse 作为参数,所有方法的实现都需要显式处理这两个参数(而不是持有这个变量。等接口或抽象类,没有这一个门面类,终端就需要考虑如何去使用接口或抽象类(实际上不需要,因为门面类通过反射完成了)(由FacesServlet控制,行为是依赖于当前JSF生命周期阶段(状态))(setXXX 方法更新的就是其内部的 Date 的值)(几乎包含了所有 Swing 中使用到的类)翻译 2024-09-05 09:31:28 · 247 阅读 · 0 评论 -
Java: “Double Brace Initialization“的效率问题
是一个带有实例初始化块的匿名内部类。这就意味着每一个新的类的产生都会执行一次实例块,这样的目的通常是为了创建一个简单的对象。这是在我的一个简单应用中所产生的类信息。在这个应用中,使用了大量的匿名内部类,这些类会被单独地编译成。java虚拟机在使用类之前需要去读取其classes信息,然后执行字节码校验等流程。所以,它只是在匿名内部类中加上了实例初始化块而已。同时,另外一种方法平均只用了0ms。所以,在第一个方法测试程序中,即。文件,所需要的磁盘空间会增大。但目前还没有这样的语法。在java的介绍中,翻译 2024-09-05 09:30:48 · 28 阅读 · 0 评论 -
Java:为自动代码调整设置最大的行数
回答,在偏好设置里,分别点击Java->Code Style->Fomatter->edit,在菜单栏Line Wrapping下会有行的宽度选择(Maximun line width).你将需要编辑你的代码轮廓。问题:我正在学习Java。如果我在Eclipse Helios里使用ctrl+shift+f的组合键,它会自动调整我的代码。一定程度下,它会改变行数。我想增加行数的最大值。为自动代码调整设置最大的行数?翻译 2024-09-04 18:27:26 · 34 阅读 · 0 评论 -
Java:在Android里面下载文件,并在ProgressDialog显示进度
第一个和第二个方法只是冰山一角。如果你想你的应用更加健壮,你得留意许多事情。你必须检查用户是否有Internet连接。确保你有正确的权限(Internet和),如果要检查网络可用性,你还需要权限。确保你要保存下载文件的目录存在,并且有相应的写入权限。如果下载的文件太大,你可能需要实现一种方法来确保上次的请求失败后,可以接着从来。如果可以有暂停或者取消下载的选项,用户会很感激你的!除非你想对下载过程有绝对的控制权,否则我强烈推荐你使用。因为他已经处理好了上面的大部分建议。翻译 2024-09-04 18:26:39 · 788 阅读 · 0 评论 -
Java:“Double Brace Initialization“的效率问题
是一个带有实例初始化块的匿名内部类。这就意味着每一个新的类的产生都会执行一次实例块,这样的目的通常是为了创建一个简单的对象。这是在我的一个简单应用中所产生的类信息。在这个应用中,使用了大量的匿名内部类,这些类会被单独地编译成。java虚拟机在使用类之前需要去读取其classes信息,然后执行字节码校验等流程。所以,它只是在匿名内部类中加上了实例初始化块而已。同时,另外一种方法平均只用了0ms。所以,在第一个方法测试程序中,即。文件,所需要的磁盘空间会增大。但目前还没有这样的语法。在java的介绍中,翻译 2024-09-03 06:44:30 · 47 阅读 · 0 评论 -
Java:为自动代码调整设置最大的行数?
回答,在偏好设置里,分别点击Java->Code Style->Fomatter->edit,在菜单栏Line Wrapping下会有行的宽度选择(Maximun line width).你将需要编辑你的代码轮廓。问题:我正在学习Java。如果我在Eclipse Helios里使用ctrl+shift+f的组合键,它会自动调整我的代码。一定程度下,它会改变行数。我想增加行数的最大值。为自动代码调整设置最大的行数?翻译 2024-09-03 06:43:48 · 34 阅读 · 0 评论 -
在Android里面下载文件,并在ProgressDialog显示进度
第一个和第二个方法只是冰山一角。如果你想你的应用更加健壮,你得留意许多事情。你必须检查用户是否有Internet连接。确保你有正确的权限(Internet和),如果要检查网络可用性,你还需要权限。确保你要保存下载文件的目录存在,并且有相应的写入权限。如果下载的文件太大,你可能需要实现一种方法来确保上次的请求失败后,可以接着从来。如果可以有暂停或者取消下载的选项,用户会很感激你的!除非你想对下载过程有绝对的控制权,否则我强烈推荐你使用。因为他已经处理好了上面的大部分建议。翻译 2024-09-02 07:20:36 · 857 阅读 · 0 评论 -
Java 是否支持默认的参数值?
那在 java 中,是否也支持这样的定义方式?答案是否定的,不过我们可以通过多种方式处理这种参数默认值的情况。使用创建者模式,你可以设定部分参数是有默认值,部分参数是可选的。翻译 2024-09-02 07:19:54 · 66 阅读 · 0 评论 -
Java:在Android里面下载文件,并在ProgressDialog显示进度
第一个和第二个方法只是冰山一角。如果你想你的应用更加健壮,你得留意许多事情。你必须检查用户是否有Internet连接。确保你有正确的权限(Internet和),如果要检查网络可用性,你还需要权限。确保你要保存下载文件的目录存在,并且有相应的写入权限。如果下载的文件太大,你可能需要实现一种方法来确保上次的请求失败后,可以接着从来。如果可以有暂停或者取消下载的选项,用户会很感激你的!除非你想对下载过程有绝对的控制权,否则我强烈推荐你使用。因为他已经处理好了上面的大部分建议。翻译 2024-09-01 08:11:42 · 759 阅读 · 0 评论 -
Java 是否支持默认的参数值?
那在 java 中,是否也支持这样的定义方式?答案是否定的,不过我们可以通过多种方式处理这种参数默认值的情况。使用创建者模式,你可以设定部分参数是有默认值,部分参数是可选的。翻译 2024-09-01 08:11:02 · 70 阅读 · 0 评论 -
Java:有一个 try/catch 代码块,其中包含一个打印语句。finally代码块总会被执行么?
有一个 try/catch 代码块,其中包含一个打印语句。finally代码块总会被执行么?翻译 2024-08-31 13:42:10 · 23 阅读 · 0 评论 -
Java:HashMap和Hashtable的区别
总之,如果你无需关心同步(synchronized)问题,我会建议用。哪一个对于多线程应用程序更好?反之,你可以考虑使用。翻译 2024-08-31 13:39:17 · 21 阅读 · 0 评论 -
Java:wait()和sleep()的区别
(正在waiting的线程,无故就被唤醒了,如遇到interrupted, timing out等情况)。能正常执行的条件是(否则会抛异常):多个线程的代码,都包在。方法,第一个线程就会唤醒(假设有且仅有一个线程是被包在。但是,只有其中一个线程能抢到锁并继续执行(因为。语句后,该线程仍是运行态,并且会占用CPU,但是执行。后,会进入等待状态。锁对象是同一个,如上例中的mon),则可以调用。其他的线程会被锁住,直到他们依次获得锁。锁对象,都是mon。后,该线程则不会占用CPU,对吗?对象的线程,通过调用。翻译 2024-08-30 09:00:02 · 87 阅读 · 0 评论 -
Java:在java中声明数组
你可以直接用数组声明,或者通过数组的字面常量(array literal )声明。你是如何在Java中声明数组的。翻译 2024-08-30 08:59:04 · 51 阅读 · 0 评论 -
Java:如何处理 java.lang.outOfMemoryError PermGen space error
你也可以停止tomcat的服务,直接进入Tomcat/bin目录,运行tomcat6w.exe.在Java的标签下,加好上面的参数。单击"OK",重新启动Tomcat的服务.我的应用是一个典型的 Hibernate/JPA + IceFaces/JSF的应用.运行于Tomcat6.0和jdk1.6.我发布了多次以后,产生了这个错误。最近,我在过运行我的web应用时得到:java.lang.OutOfMemoryError: PermGen space。是什么原因造成的,我如何避免?翻译 2024-08-29 14:01:38 · 100 阅读 · 0 评论 -
Java:如何使用Java创建一个内存泄漏的程序
我在一个面试的过程中被问到如何使用Java创建一个内存泄漏的程序。毫无疑问地说,我当时哑口无言,根本不知道如何开始编码。翻译 2024-08-29 14:00:31 · 35 阅读 · 0 评论 -
Java 问题:将数组转换为List
Arrays.asList(array)或者Arrays.asList(new Element(1),new Element(2),new Element(3))如果希望避免这两个坑,请改用这个方式。如何将其转换为ArrayList。翻译 2024-08-28 09:57:09 · 33 阅读 · 0 评论 -
Java 问题:如何将String转换为Int
另外还需注意的是,在做int类型转换时,可能会抛出NumberFormatException,因此要做好异常捕获。##如何将String转换为Int。翻译 2024-08-28 09:55:53 · 40 阅读 · 0 评论 -
Java 问题:如何将String转换为enum
fromString方法中,throw new IllegalArgumentException(“No constant with text " + text + " found”) 会比直接返回null更优秀.静态方法valueOf() 和 values() 不存在于源码中,而是在编译时创建,我们也可以在JavaDoc查看到它们,比如。已知枚举对应的String值,希望得到对应的枚举值。例如,已知"A",希望得到对应的枚举——Blah.A,应该怎么做?就中出现这两个方法。翻译 2024-08-27 13:49:37 · 101 阅读 · 0 评论