
递归列出Java中的文件
如何在Java目录中递归列出所有文件?框架是否提供任何实用程序?我看到了很多hacky的实现。但是框架或nio都没有回答:Java 8提供了一个不错的流来处理树中的所有文件。Files.walk(Paths.get(path)) .filter(Files::isRegularFile) .forEach(System.out::println);这提供了一种遍历文件的自然方法。由于它是流...
2024-01-10
Java中的整数除法
这听起来像一个愚蠢的问题,但是我在Java文档的任何地方都找不到答案。如果我声明两个整数然后除以它们,究竟发生了什么?它们是floats/doubles先转换为除法然后再转换为integer,还是除法为整数?另外,纯粹从实验来看,整数除法似乎将答案舍入为零(即3/2 = 1和-3/2 = -1)。我相信这一点对吗?回答...
2024-01-10
Java中的乘法运算导致负值
为什么以下计算会产生负值?long interval = 0;interval = ((60000 * 60) * 24) * 30;回答:正在评估其中的每个表达式(当然是在编译时;它是一个常量),int * int而不是long *long。结果在某个时候溢出。因此,只需L使所有操作数文字变长即可:interval = ((60000L * 60L) * 24L) * 30L;当然,仅使 一些 操作数变长就可...
2024-01-10
Java中的访问器方法
因此,我对“ setter”和“ getter”方法以及它们的有用与否有疑问。假设我只是写了一个非常基本的程序,如下所示: public class Account { String name; String address; double balance; }然后,假设我编写了另一个使用此“ Account”类的类,如下所示: class UseAccount { public static void mai...
2024-01-10
计算Java中对象的大小
我想记录一个对象占用一个项目的内存量(以字节为单位)(我正在比较数据结构的大小),并且似乎没有方法可以在Java中完成。据说C / C ++有sizeOf()方法,但这在Java中不存在。我尝试Runtime.getRuntime().freeMemory()在创建对象之前和之后记录JVM中的可用内存,然后记录差异,但是无论结构中元素的数量如何...
2024-01-10
Java中整数之间的除法
我需要在Java中对整数进行除法,其结果应该是浮点数。我可以使用/符号吗?如:int integer1 = 1;int integer2 = 2;float quotient = integer1 / integer2; // Could I do this?回答:将整数之一转换为浮点以确保浮点除法:float result = integer1 / (float) integer2...
2024-01-10
Java中的非法前向引用
import java.io.*; import jxl.*; class Xlparsing { Workbook wb =wb.getWorkbook(new File( "C:\\Documents and Settings\\kmoorthi\\Desktop\\ak\\new.xls")); // Illegal forward reference What it means Sheet st = wb.getSheet(0); Cell cell1 = st.getCel...
2024-01-10
Java中的执行者终止递归如何?
这是一个程序,它使用递归和执行程序来读取以前格式的信息站点。它工作正常,我的问题是测试程序是否完成和成功通知。public class NewClass { static String levels[] = { "div.col-md-9 li a", "div#sidebar ul li a" }; static String links = ""; private void getRecursive(String href, int level, final ExecutorS...
2024-01-10
jvm中的Java对象ID
调试时,在Eclipse中对象值附近显示一个对象ID。例如:28332是会话对象的ID。另一个示例:waiting for:(id=101)显示在“调试”面板中。这些ID既不是哈希码,也不是System.identityHashCode。有人知道this吗-如何获取对象的ID?回答:我假设它们在内部具有IdentityHashMap<Object,Integer>,为每个对象分配一个唯一的(...
2024-01-10
Java中的“无法取消引用”
我是Java的新手,正在使用BlueJ。尝试编译时,我不断收到此“无法取消引用Int”错误,但我不确定是什么问题。该错误专门在底部的if语句中发生,其中说“等于”是错误,并且“不能取消引用int”。希望得到一些帮助,因为我不知道该怎么办。先感谢您!public class Catalog { private Item[] list; private i...
2024-01-10
Java方法中的动态返回类型
我在这里多次看到类似的问题,但有一个很大的不同。在其他问题中,返回类型将由参数确定。我想要/需要做的是通过解析后的值确定返回类型byte[]。从我收集到的信息来看,以下方法可行:public Comparable getParam(String param, byte[] data) { if(param.equals("some boolean variable") return data[0] != 0; else(param....
2024-01-10
Java:方法中的Enum参数
我有一个方法可以说:private static String drawCellValue( int maxCellLength, String cellValue, String align) { }正如您所注意到的,我有一个名为align的参数。在此方法内部,我将对值是“左”还是“右”有一些if条件。.将参数设置为String,显然我可以传递任何字符串值..我想知道是否有可能将Enum值用作方法参数,如...
2024-01-10
如何在java方法中将数组作为参数传递?
码:Object[] a={ myObject};someMethod(Object ...arg);当我尝试:someMethod ( {myObject} );我在Eclipse中收到错误。但当:someMethod ( a );一切都好。为什么会有这种差异?谢谢。回答:因为{ myObject}语法是特殊的语法糖,仅在初始化数组变量时才适用。这是因为任务本身缺少类型信息;但是在赋值的特殊情况下,...
2024-01-10
Java中的getClass方法
Object类中的getClass方法如何能够动态返回Class?回答:它不返回类 名 -返回Class代表该对象类型的类型。每个对象都“知道”它实际上是什么类型-这取决于执行时间类型,即强制转换如何工作或失败。Object.getClass()只是从对象中检索相关信息。如果您的类仅包含一个int,则每个对象仍将在内存中占用4...
2024-01-10
一种在Java中实现部分类的方法
我有一个接口,我想在进行快速Google搜索后在单独的类中实现,显然Java没有局部类。有没有办法做到这一点,还是我将所有代码都扔进一个类中?基本上,我正在尝试编写服务。有些服务方法实际上属于它们自己的类,并且在同一类中似乎是不合逻辑的。这是我正在尝试做的一个例子。package com.upmc.es...
2024-01-10
Java 8中方法引用的外部参数
我希望将外部参数传递给方法引用:String prefix = "The number is :";numbers.forEach(Main::printWithPrefix);private static void printWithPrefix(Integer number) { System.out.println(number);}我不知道该怎么做。我可以用lambda做到这一点:String prefix = "The number is :";numbers.forEach(number ...
2024-01-10
在java中使用最简单的方法打印数组内容?
java数组没有toString方法,如何使用简单的方法输出数组内容?回答:从Java 5开始,你可以将Arrays.toString(arr)或Arrays.deepToString(arr)用于数组中的数组。请注意,Object[]版本会调用.toString()数组中的每个对象。输出甚至按照您的要求进行修饰。简单数组:String[] array = new String[] {"John", "Mary", "Bob"};System.out.p...
2024-01-10
重写Java中具有泛型参数的方法?
我有一个抽象类 ,它由类 子类 。方法:public abstract List<? extends MonitorAccount> performMonitor(List<? extends MonitorAccount> accounts)在 定义,并且必须在 覆盖。我目前在 重写了如下方法:@Overridepublic List<EmailAccount> performMonitor(List<EmailAccount> emailAccounts) { //...unrelat...
2024-01-10
在Java中生成唯一ID的最佳方法
在Java中生成唯一ID的最佳方法是什么。人们普遍使用String id = System.currentTimeMillis+ someStaticCounter;但是这种方法需要在多线程应用程序中进行同步。我在用try { Thread.sleep(1); //This sleep ensures that two consecutive calls from the same thread does not return the same id.}catch (InterruptedExcep...
2024-01-10
如何在Java中计算文件的哈希值?
我编写了以下程序来计算Java中字符串的SHA-256哈希值:public class ToHash { public static void main(String[] args) { byte[] data = "test".getBytes("UTF8"); MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(data); ...
2024-01-10
计算器为Java中的计算方法生成空字符串错误
好吧,我正在用Java编写计算器,并将String输入到我的加法中。我用JButtons将文字写入JTextField。当用户点击等号按钮时,我发现他们想要执行的相对操作(如果他们点击一个操作符按钮,我将int设置为一个特定的数字(所以加1))。我首先将String转换为char数组,然后检查字符是数字还是操作符。计算器...
2024-01-10
在java中是值传递,还是引用传递?
在java中是值传递还是引用传递,有什么区别?回答:Java总是按值传递参数,而不是按引用传递参数。看下面一个实例:public class Main { public static void main(String[] args) { Foo f = new Foo("f"); changeReference(f); // f没有改变 modifyReference(f); // f的属性被修改 } public static ...
2024-01-10
更改Java中重写方法的访问修饰符?
有没有理由可以更改覆盖方法的访问修饰符?例如,abstract class Foo{ void start(){...}}然后将package-private访问修饰符更改为public,final class Bar extends Foo{ @Override public void start(){...}}我只是出于好奇而问这个问题。回答:Java不允许您对access修饰符进行 更严格的限制 ,因为这会违反以下规则:子...
2024-01-10
在Java中的方法上设置运行时间限制
我有一个返回String的方法,是否有可能在一段时间后超出该阈值以返回该特定字符串?回答:该番石榴库有一个非常好的TimeLimiter,可以让你做到这一点,就会向由接口定义的任何方法。它可以为具有“内置”超时的对象生成代理。...
2024-01-10
如何计算Java中以整数为底的对数2?
我使用以下函数为整数计算对数基数2:public static int log2(int n){ if(n <= 0) throw new IllegalArgumentException(); return 31 - Integer.numberOfLeadingZeros(n);}它是否具有最佳性能?有人知道为此目的准备好了J2SE API函数吗? 对于我来说,令人惊讶的是,浮点运算似乎比整数运算要快。 由于有评论,我将进行更详细...
2024-01-10
