标签: Java
equalsoverriding
今天,我在equals()方法中遇到了一个有趣(而且非常令人沮丧)的问题,它导致了我认为是一个经过良好测试的类崩溃,并导致了一个花了我很长时间才发现的bug
为了完整起见,我没有使用IDE或调试器,只是使用了老式的文本编辑器和System.out。时间非常有限,这是一个学校项目
无论如何-
我正在开发一个基本的购物车,它可以包含一个ArrayList的Book对象。为了实现购物车的addBook()、removeBook()和hasBook()方法,我想检查Book是否已经存在于购物车中。所以我
我有一个在linux上运行的Java应用程序,它有很多围绕时间和日期的事件和业务逻辑
对于测试,是否有可能调整某些内容以加快时间。比方说,在一小时的墙时间内完成整个计算机年?如果您是系统调用以获取系统时间(即system.currentTimeMillis()),那么您大概可以通过更改系统时间来加快时间。这应该反映您在应用程序中看到的时间
如果您使用其他方法来计算时间(从JVM启动(即System.nanoTime())到净时间服务器等所经过的时间),那么答案是这是不可能的
我要强调的是,我只
我有以下代码:
@BeforeClass
public static void setUpOnce() throws InterruptedException {
fail("LOL");
}
以及其他各种@Before、@After、@Test或@AfterClass方法
启动时测试并没有失败,这似乎是应该的。有人能帮我吗
我有JUnit4.5
该方法在立即调用setUp()时失败,该方法被注释为@before。
def等级为:
public clas
有人告诉我,舍入半舍五入甚至是金融数据计算中最受欢迎的舍入模式。我很想知道这种舍入模式为什么以及如何减少javadoc BigDecimal 1.4.2中所述的累积误差。
谢谢
院长来自:
尽管有四舍五入的习俗
数字4.5到5,事实上4.5不是
接近5比接近4(它是0.5
远离两者)。在处理
大套的科学或数学模型
统计数据,趋势在哪里
重要的,传统的四舍五入
平均值使数据向上偏移
轻微地在一大组数据上,或
当许多后续舍入
操作按数字方式执行
信号处理,由圆到平
规则倾向于减少总数
舍入误差(平均
我正在尝试为一个项目实现单元测试,它使用一个遗留的“实用工具”项目,该项目充斥着静态方法,并且许多类是final或它们的方法是final。我根本无法更新遗留项目
JMock和EasyMock都使用了final方法,我看不到测试静态调用的好方法。有哪些技术可以测试这些方法?如果您能够重构代码,您可以将对final/static方法的调用封装在简单的实例方法中,例如:
protected Foo doBar(String name) {
return Utility.doBar(name);
我想用胶粘字符串连接字符串[]。有用于此的函数吗?从Java8开始可以使用String.join()
生成:
Hello, World, !
否则,将有一个类,该类具有一个函数,该函数将数组连接在一起,形成一个字符串
例如:
StringUtils.join(new String[] {"Hello", "World", "!"}, ", ")
String joined = TextUtils.join(";", MyStringArray);
生成以下字符串:
Hello, World
我有一个开源应用程序,可以将照片上传到Facebook。为了节省带宽,照片在上传前会自动调整大小(Facebook规定了最大尺寸限制)。一些人抱怨过照片质量,事实上,你可以看到不同之处(请参阅一些演示图像)
因此,我的问题是,在Java中缩小图像(即照片)的“最佳”方式是什么,而不损失质量,或者至少是质量损失/工件最小
您可以查看我的当前代码(通过调整代码大小)。您使用的渲染提示是什么?通常双三次重采样是最好的。在你链接到的照片中,它们非常参差不齐,这让我觉得你是在用最近的邻居作为暗示
在链接到
我有一个返回map的方法,定义为:
public Map<String, ?> getData();
我收到以下编译时错误消息:
方法put(字符串、捕获#9-of?)
在类型映射中
不适用于参数
(弦,弦)
有什么问题?String不是任何类型的吗
提前谢谢。[EDIT]这真的是错的。。。我明白了
我的第一个回答是:
这就是java:字符串不是对象
试一试
obj.getData().put("key",new String("value"));
但字符串扩展了对象。。。而我认
我想使用java应用程序创建一个隐藏文件夹。该程序应该跨平台工作。那么如何编写一个可以创建隐藏文件夹的程序呢
我试过使用
File newFile = new File("myfile");
newFile.mkdir();
它创建一个不隐藏的目录。要在Unix下隐藏文件或目录,其名称必须以句点()开头
要在Windows下隐藏文件,需要在其属性中设置“隐藏”位。Java标准库不提供此功能(尽管有一个file.ishiden()方法),我也不知道有任何工具提供此功能。在*nix下,您只需重命名
正如简要描述的,在Java中重写私有方法是无效的,因为父类的私有方法是“自动最终的,并且对派生类隐藏”。我的问题主要是学术性的
不允许父类的私有方法被“重写”(即在子类中使用相同的签名独立实现),这怎么不违反封装?根据封装原则,父类的私有方法不能被子类访问或继承。它是隐藏的
那么,为什么要限制子类使用相同的名称/签名实现自己的方法呢?这是否有很好的理论依据,或者这只是一种务实的解决方案吗?其他语言(C++或C#)对此有不同的规则吗?您不能重写私有方法,但可以在派生类中引入私有方法而不会出现问题。
标签: Java
instanceofcloneable
以下内容很好:
Object o = new Object();
System.out.println(o instanceof Cloneable);
但这并不是:
String s = new String();
System.out.println(s instanceof Cloneable);
将引发编译器错误
问题出在哪里?编译器知道String是最后一个类,并且没有实现可克隆性。因此,任何字符串实例都不能是Cloneable的实例。它阻止你认为你得到了一个有意义
标签: Java
findbugscompareto
我在这里不知所措
1: private static class ForeignKeyConstraint implements Comparable<ForeignKeyConstraint> {
2: String tableName;
3: String fkFieldName;
4:
5: public int compareTo(ForeignKeyConstraint o) {
6: if (this.tableName.compareTo(o.tab
假设我的主类位于C:\Users\Justian\Documents\。如何让我的程序显示它在C:\Users\Justian\Documents中
硬编码不是一种选择——如果它被移动到另一个位置,它需要适应
我想将一堆CSV文件转储到一个文件夹中,让程序识别所有文件,然后加载数据并对其进行操作。我真的只是想知道如何导航到那个文件夹。谁说你的主类在本地硬盘上的文件中?类通常捆绑在JAR文件中,有时通过网络加载,甚至动态生成
那么你到底想做什么呢?可能有一种方法可以做到这一点,即不必假设类来自何处
Java是否有匿名枚举的可能性
例如,我希望我的类有一个变量,其值可以是5种不同设置中的一种。很明显,这个变量应该是一个枚举。但这是唯一一个使用特定枚举的地方。通常我会在变量的正上方声明一个枚举类型,然后将变量声明为该类型,但我想知道是否有更简洁的方法。Java支持匿名枚举吗
例如:
public class Test {
public enum Option {
FirstOption,
SecondOption,
ThirdOption
我以前问过这个问题-,但这次有点不同
如果我启动Java VM时设置了-XX:+cmd标记,则会打印以下消息:
今后请使用CMSClassUnloadinged代替CMSClassWeapingEnabled
-XX:+cmsPermGensWeapingEnabled标志通常用于缓解PermGen OutOfMemory错误,但我发现,按照上述建议,人们仍然存在这些错误,但是通过坚持使用-XX:+CMSPermGenSweepingEnabled以及-XX:+CMSClassUnloading
我有一个遗留数据库,我正试图重新设计进入21世纪。现有的数据结构之一涉及一个包含二维值矩阵的特定类。如果我要从数据库对这个类进行反向工程,我会得到一系列属性,如:
private BigDecimal NODE_1_MATRIX_POS_1_1;
private BigDecimal NODE_1_MATRIX_POS_1_2;
等等。因为这是一个6x6矩阵,所以有很多这样的列
我一直在寻找更好的方法,但我不确定我是否在那里。我想做的是这样的:
@Entity
public class Tes
你能为Eclipse推荐一个Java反编译器吗?我的其他问题是,使用来自其他Java程序的反编译代码有哪些限制?非法还是什么?我对许可证不太了解。感谢阅读。是我所知道的最好的Java反编译器。我建议在google上弹出的Java反编译器。
它真的很好用
至于限制,您必须阅读特定软件的许可证,可能有书面规定禁止任何反编译方式 我喜欢——但它在某些地方显示出它的年龄。您将需要:
jad二进制文件
jadClipse已安装
将Eclipse首选项指向上面的jad二进制文件
告诉它生成行号并对齐以进行
我需要一些JAXB注释方面的帮助,但我找不到好的文档来帮助我解决这个问题
我有一个类要封送到XML中。我的班级是这样的:
@XmlRootElement(name="car")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = {
"vid",
"make",
"model",
"recalls",
"engSpec"
})
public class Car {
@XmlElem
这是我得到警告的示例代码
Class aClass = Class.forName(impl);
Method method = aClass.getMethod("getInstance", null);
item = (PreferenceItem) method.invoke(null, null);
警告:
警告:varargs方法的非varargs调用,最后一个参数的参数类型不精确;
强制转换为java.lang.Class以进行varargs调用
强制转换为java.lang.Cl
如果我有一个包含许多零的大文件,如何有效地使其成为稀疏文件
是否只有读取整个文件(包括所有零值,这些零值可能以稀疏方式存储)并使用seek将其重写为新文件才能跳过零区域
或者是否有可能在现有文件(例如file.setSparse(long start,long end))中执行此操作
我正在寻找Java或一些Linux命令的解决方案,文件系统将是ext3或类似的。根据这一点,目前似乎没有简单的解决方案,除了使用FIEMAP ioctl。但是,我不知道如何将“非稀疏”零块转换为“稀疏”块 我认为您
如果Java中有int年、int月、int日,如何查找日的名称?已经有一些函数用于此操作了吗?您可以使用对象来查找此操作
创建日历实例后,您将获得周中的天(这是一个整数),然后您可以从中找到该天)
您可以使用switch语句:
构造一个包含年、月和日的GregorianCalendar,然后查询它以查找日的名称。大概是这样的:
int year = 1977;
int month = 2;
int dayOfMonth = 15;
Calendar myCalendar = new Gregor
对所有不支持/不支持的选民:我知道这是许多问题的完全重复,但我尝试了许多答案,仍然面临问题,因此添加了一个新问题
问题:
我将EclipseHelios和Tomcat6用于我的spring应用程序,并获得
java.lang.OutOfMemoryError: PermGen space
每当我调试应用程序时
我试过了
1) 添加
到eclipse.ini
2) 在tomcat_home/bin中创建setenv.sh和setenv.bat
set JAVA_OPTS="-Xms256m
乐高头脑风暴有Java SDK吗?我可以将Scala代码编译成JAR并在Lego Mindstorms中运行吗?我不确定Lego Mindstorms(从未见过),但一般来说,是的。您可以将scala代码编译到JAR,添加scala-library.JAR,并像普通Java程序一样运行它
如果您的程序只接受一个jar,您可以将jar与scala-library.jar结合起来,创建一个文件。可能不接受,但很难说。Mindstorm JVM不是完整的JVM,尽管它们还不错
也就是说:
即使假设您需
如何将while循环延迟到1秒的间隔,而不将其运行的整个代码/计算机延迟到1秒(只是一个小循环)。您的循环似乎在主线程上运行,如果您在该线程上执行睡眠,它将暂停应用程序(因为只有一个线程已暂停),要克服这一问题,您可以将此代码放入并行运行的新线程中
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
//do stuff
}
Thread.sleep(1000);//在1000毫秒(1秒)内不执行任何操作。正如Jigar
我在一次采访中被问到这个问题
如何在不使用main()方法的情况下在控制台上打印消息
public class Foo {
static {
System.out.println("Message");
System.exit(0);
}
}
System.exit(0)在jvm开始查找main()
(注意:这只适用于java 6。即使它使用JDK 7的javac编译,也不能使用它的java运行,因为它需要一个main(String[])方
这个程序可以运行,除非NJAR的数量是7的倍数,否则我会得到一个14.999999998美元的答案。对于6,输出为14.08。如何修复7的倍数的异常,使其显示14.99美元
import java.util.Scanner;
public class Homework_17
{
private static int nJars, nCartons, totalOunces, OuncesTolbs, lbs;
public static void main(String[] args)
我已经为SWT应用程序设置了一个Maven项目。该应用程序运行在多个平台(OS X、Windows 64位、Windows 32位、Linux 64位和Linux 32位)上,我对其进行了设置,以便在运行Maven时检测平台,并将打包的应用程序转到不同的目标目录。以下是pom.xml中实现此目的的相关部分:
<profiles>
<profile>
<id>linux_x86_64</id>
<activation>
我正在使用此代码获取文件的类型-
FileSystemView filesystem = FileSystemView.getFileSystemView();
String sFileType = filesystem.getSystemTypeDescription(file))
在Windows下,此代码工作于文件,正确显示文件类型。但在MacOSX下,它不会显示任何与此代码相关的内容。方法getSystemTypeDescription说明:
覆盖具有本机ShellFolder实现的平
标签: Java
C++
operator-precedencepost-incrementpre-increment
为了理解这一页上的例子,我的大脑出现了皱纹:
更具体地说,此代码:
int j = 4;
cout << j++ << j << ++j << endl;
输出:456
这更直观,因为这表明它是从左到右计算的。在不同的网站上研究这一点,似乎C++的行为在编译器之间是不同的,但是我仍然不相信我理解。在java和C++之间的这种差异的解释是什么?谢谢。在 P> < P> C++中,子表达式求值顺序不是左右,也不是左到右。当操作有副作用时,C++依赖
当不确定集合引用是否为null时,在迭代之前必须检查null是很常见的。
样本:
你认为nullableIterable()合理吗?有什么建议吗?有什么问题吗?谢谢 看起来不错。我个人也这么做。你总是会遇到不同意这一点的开发人员,因为这是一种防御性编程。假设您有一个工作流或类不应该返回null。这意味着从中获取null是一个bug,您的代码将隐藏它,因为它将null变成一个空集合,并且该bug永远不会出现
例如,如果您正在编写不支持null集合的API,那么应该避免这种情况。如果客户端代码向您提
编辑:为了实现实时绘制,在opengl和opencl之间的“互操作性”中开始使用lwjgl,lwjgl是jmonkeyengine和jocl的基础,现在可以实时计算和绘制100k粒子。也许mantle版本的jmonkey引擎可以解决这个drawcall开销问题。
几天来,我一直在学习Eclipse(Java64位)中的jMonkey引擎(版本:3.0),并尝试如何使用GeometryBatchFactory.optimize(rootNode)优化场景命令
无需优化(能够改变球体位置):
好的
我希望获得标记之间的所有内容,但由于urn:名称空间的原因,我不知道如何做到这一点
<urn:ResponseStatus version="1.0" xmlns:urn="urn:camera-org">
<urn:requestURL>/CAMERA/Streaming/status</urn:requestURL>
<urn:statusCode>4</urn:statusCode>
<urn:statusString&g
我从大学起就没有接触过C/C++了,老实说,我不知道如何真正释放这里的内存:(
我知道存在内存泄漏-我使用YourKit进行了一些分析,并跟踪了这段代码的内存泄漏(特别是,它似乎在GetWindowTextW调用和本机.toString()调用中泄漏)。有人能给我举个例子,说明如何正确释放正在使用的内存块吗
我看到Pointer有一个clear()方法,我应该使用它吗?但我不知道如何获取大小(clear使用长度参数)。我还看到有一个内存类型,它子类指针,但根据实例of,我现在拥有的指针实际上都不
标签: Java
local-variablesbyte-buddy
我需要将局部变量添加到截取方法的生成体中
我尝试过(为了生成int变量):
List语句=newarraylist();
add(IntegerConstant.forValue(false));
add(MethodVariableAccess.INTEGER.storeAt(3));
...
StackManipulation逻辑=new StackManipulation.component(statements.toArray(new StackManipulation[0]);
Sta
我正在创建大小为5的圆,类似于Circle c=new Circle(x,y,5)。然后我做c.setOnMousePressed(mousepressedventhandler)System.out.println(“点击2”));
root.getChildren().addAll(
第1圈,
圆圈2
);
场景=新场景(根,400400);
初级阶段。场景(场景);
primaryStage.SetResizeable(假);
primaryStage.show();
}
也许再画一个更大
在的文档中,有一个关闭executor服务的示例方法,如下所示:
void shutdownAndAwaitTermination(ExecutorService pool) {
pool.shutdown(); // Disable new tasks from being submitted
try {
// Wait a while for existing tasks to terminate
if (!pool.awaitTermination(60, Time
我正在尝试自动化一个场景,在这个场景中,我需要输入卡上的姓名、卡号、到期日和CVC号等卡的详细信息。当我试图发送到期日(比如“2318”)时,默认情况下,它接受的值为“23/8”。理想情况下,它应接受值为“23/18”。我试着每月和每年都给空间,但仍然不起作用。你知道如何实现自动化吗
以下是我的代码:
@Override
public void enterCardDetails() {
waitForElement(appiumDriver,enterNameOnCar
标签: Java
switch-statementdefaultbreak
金额不能小于25美分或大于1美元。此外,根据问题,价格以5%为增量
如果用户输入无效数据,则应显示错误消息,并且不应进行任何处理
我也想知道是否可以使用循环而不是switch语句
提前感谢:)
我的代码:
import java.util.Scanner;
public class VendingMachine {
public static void main (String[]args) {
int exchange;
int quarters;
我正在使用JB IntelliJ IDEA并试图创建一个程序,其中包含类分数和方法乘法,将两个分数相乘,并应返回和打印如下内容:“乘法结果:int/int”,但它打印:“乘法结果:[I@7ea987ac“
这是我的密码:
Main.java:
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s
java.lang.RuntimeException:无法启动活动组件信息{com.example.cn/com.example.cn.MainActivity}:android.view.InflateException:二进制XML文件行#2:二进制XML文件行#2:膨胀类android.support.v4.widget.DrawerLayout时出错
''检查是否已添加依赖项
dependencies {
implementation 'com.android.support:ap
在我的测试用例中,我经常使用XPath定位器来检查文本属性。比如说,
public By label(String text) {
return By.xpath("//label[contains(text(),'"+text+"')]");
}
在测试案例中,我使用它的方式如下:
webUI.verifyElementVisible(page.label("message"));
我用标签、div、输入(占位符)、跨距等来实现这一点
这是否被视为良好做法
将来这样做的坏处是什么
下面的问题提供了scala和pyspark的解决方案,而本问题中提供的解决方案不适用于连续索引值
我在ApacheSpark中有一个现有的数据集,我想根据索引从中选择一些行。我计划添加一个包含从1开始的唯一值的索引列,并基于该列的值获取行。
我找到了以下方法来添加使用order by的索引:
df.withColumn("index", functions.row_number().over(Window.orderBy("a column")));
我不想按顺序使用。我需要索引的顺序与它们
我们在
渐变版本5.5
android gralde插件3.5.0
我可以用
./gradlew :app:testDebug --tests="*Fragment*" --tests="*Activity*"
但是我想找到一种方法来做相反的事情,即不运行与这些选项匹配的测试,比如
/gradlew:app:testDebug--notTests=“*Fragment*”--notTests=“*Activity*”
有一个excludeTests选项,但我不能在android项目中使用,
我从Aerospike DB加载地图时遇到问题。当我获取记录并尝试打印它时,我得到了下面的错误
Main
Key key = new Key( "test", "users", 2 );
Map<Integer, Widgets> map = new HashMap<>();
map.put(1, new Widgets(2, 2));
map.put(2, new Widgets(3, 0));
Bin bin = new Bin("widgets", map);
cl
我想通过编程的方式杀死一个分片集群上的聚合操作。该操作是从Java mongo驱动程序启动的
我发现杀死它的方法是抛出一个带有会话标识符的killSessions命令
要正确获取会话标识符,我要做的是:
MongoClient mongoClient = ....
mongoClient.startSession()
//call the aggregation stuff..
此线程保持运行,我使用mongoClient对象从另一个线程获取并终止服务器会话:
BsonDocument se
我想知道是否有一种好方法可以通过Rabbit队列有效地传输重对象(例如>1mln字符串的数组)
我尝试将数组分为1000、10000和100000块。我最快的速度是21秒,有10000块大小
我提出的解决方案类似于流媒体。有两个服务,一个向另一个发送一个包含临时队列名称的请求对象(该名称是在发送请求之前创建的)。后者获取请求并开始按块发送数组,当请求结束时,它发送一种流结束符号
也许有一些优雅的解决方案,比如一些功能或库或其他什么。唯一的条件是应该使用消息队列传递重对象
有人遇到过这样的任务吗?
标签: Java
one-to-onequarkusjpa-annotations
我有两个实体(Project,OtherData)和一个抽象实体。我正在使用MySQL和Quarkus框架
问题:当我尝试保存Project实体字段Project\u id时,仍保持null
表架构:
在下一张图片中,显示了“项目\其他\数据”表中的fk约束:
抽象实体:
@MappedSuperclass
public class AbstractEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTIT
我正在学习数据绑定,特别是关于处理事件和单击事件的部分。现在,我在一些YouTube教程中注意到,我的讲师主要使用一个内部类来处理这些事件。然而,在前面,我编写了实现View.OnClickListener的代码,并直接允许我处理单击事件
这是:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ActivityMainBinding activi
Jacoco插件丢失JUnit测试,报告始终为0%,但测试存在。我认为问题在于我的pom.xml。帮我找出错误
也许它与checkstyle插件冲突
使用Jacoco设置的部件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spri
我在应用程序中进行API调用,在某个时候它随机抛出java.io.IOException:/149.222.1.1:553232:GOAWAY received,
使用Java11环境。
是否仍要解决此异常,而不是转移到Http/1.1或其他Http客户端库
这是堆栈跟踪
"com.abcd.common.RequestProcessor:53 getRequest: java.io.IOException: /149.222.1.1:553232: GOAWAY received
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 38123 页