我需要构建一个类似的日期格式dd/MM/yyyy.它几乎就像DateFormat.SHORT,但包含4年的数字.
我尝试用它来实现它
new SimpleDateFormat("dd//MM/yyyy", locale).format(date);
Run Code Online (Sandbox Code Playgroud)
但是对于美国语言环境,格式错误.
是否有一种通用的方法来格式化基于区域设置更改模式的日期?
谢谢
这令人难以理解为什么最好有一个抽象类.所以我要说我必须计算不同形状的区域(圆形,矩形).我被教会更好地拥有一个抽象/界面形状,然后像Rectangle,Circle这样的类扩展它.
我做了以下代码
abstract class Shape {
abstract int getArea();
}
class Rectangle extends Shape{
private int width;
private int height;
public Rectangle (){
this.width = width;
this.height = height;
}
// get set methods ommited
public int getArea () {
return width * height;
}
}
Run Code Online (Sandbox Code Playgroud)
看起来形状类没有用处.我不能在形状类中执行getArea的实现,因为不同的形状会以不同的方式计算区域.我可以删除shape类并使我的代码更简单.
那么具有抽象/接口类形状的实际目的是什么?提前感谢您的任何解释
在Java 8及更高版本的java.time框架中,Duration该类说:
此类以秒和纳秒为单位模拟时间量或时间量.可以使用其他基于持续时间的单位访问它,例如分钟和小时.此外,该
DAYS装置可以使用,并且被视为完全等于24小时,因此忽略了夏令时效果.
然而,当我调用get方法并传递时ChronoUnit.DAYS,抛出异常.
LocalTime start = LocalTime.of ( 0 , 0 , 0 ); // First moment of the day.
LocalTime stop = LocalTime.of ( 2 , 0 , 0 ); // 2 AM.
Duration duration = Duration.between ( start , stop );
long days = duration.get ( ChronoUnit.DAYS );
Run Code Online (Sandbox Code Playgroud)
线程"main"中的异常java.time.temporal.UnsupportedTemporalTypeException:不支持的单位:天
我误解了某些东西,还是滥用了这些课程?
任何人都可以在几分钟内轻松重现此问题.
quickstart项目使用IntelliJ 2018.3和Maven 3.6.0,我使用Maven原型maven-archetype-quickstart1.4版创建了一个全新的项目.
在新项目的POM文件,更改属性maven.compiler.source和maven.compiler.target从1.7至11,为Java 11.0.2我目前使用的,祖鲁来自Azul系统.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
Run Code Online (Sandbox Code Playgroud)
在的IntelliJ的Maven的面板,我运行clean和install生命周期事件.
作为一部分install,测试运行.这个quickstart原型带有一个断言的单一测试true.
结果显示在RunIntelliJ面板中.
[INFO]正在运行work.basil.example.AppTest
[INFO]测试运行:1,失败:0,错误:0,跳过:0,经过的时间:0.026秒 - 在work.basil.example.AppTest中
所以我知道测试已执行.
这一切都很好.现在让我们升级到JUnit 5,看看问题.
在POM中,我从这里更改了JUnit依赖项:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
......对此:
<dependencies>
<!--JUnit 5-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.3.2</version>
<scope>test</scope>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
编译器抱怨我的AppTest.java文件.所以我改变import那里的语句来使用jupiter包.我只想在我的新greedfield项目中运行JUnit …
我不明白'a'的值是0,为什么'a'不是10,那段代码的运行过程是什么,有必要从Java Memory Model分析吗?这是我的测试代码
package com.study.concurrent.demo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
//@SpringBootTest
@Slf4j
class DemoApplicationTests {
int a = 0;
int b = 0;
@Test
void contextLoads() {
ExecutorService executorService = Executors.newFixedThreadPool(1);
// final Semaphore semaphore = new Semaphore(3);
for (int i = 0; i < 10; i++) {
executorService.execute(() -> {
// try {
// semaphore.acquire();
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
add();
bdd();
// log.info("a: {},concurrent_id: {}",a,Thread.currentThread().getName());
// semaphore.release();
}); …Run Code Online (Sandbox Code Playgroud) 使用Intellij 2021.3.2,JavaFX版本:11.0.2+1。
我正在尝试将 JavaFX WebView 添加到我的应用程序中。我的导入语句无法编译:
import javafx.scene.web;
Run Code Online (Sandbox Code Playgroud)
编译错误:
java:找不到符号符号:类Web位置:包javafx.scene
据我所知,JavaFX 版本 11 应该包含 .web 包。也许我必须安装一些特定的东西才能使用它?