Java 20 中已弃用所有 URL 构造函数。我替换new URL(protocol, host, file)为,new URI(protocol, host, file, null).toURL()因为我没有查询,也没有片段,但我不知道如何处理其他内容:
/home/gouessej/Documents/programmation/java/workspace/Ardor3D/ardor3d-core/src/main/java/com/ardor3d/util/UrlUtils.java:40: warning: [deprecation] URL(String) in URL has been deprecated
return new URL(new URL(url), relativeLoc);
^
/home/gouessej/Documents/programmation/java/workspace/Ardor3D/ardor3d-core/src/main/java/com/ardor3d/util/UrlUtils.java:40: warning: [deprecation] URL(URL,String) in URL has been deprecated
return new URL(new URL(url), relativeLoc);
^
/home/gouessej/Documents/programmation/java/workspace/Ardor3D/ardor3d-core/src/main/java/com/ardor3d/util/resource/SimpleResourceLocator.java:94: warning: [deprecation] URL(URL,String) in URL has been deprecated
final URL rVal = new URL(_baseDir.toURL(), spec);
^
/home/gouessej/Documents/programmation/java/workspace/Ardor3D/ardor3d-audio/src/main/java/com/ardor3d/audio/FilenameURL.java:125: warning: [deprecation] URL(String) in URL has been deprecated
url = new URL( filename );
Run Code Online (Sandbox Code Playgroud)
会简单地 …
以下是 Java 20 中的错误还是我遗漏了什么?如果您编译/运行以下程序,您将获得预期的打印输出。但是,如果您取消注释开关中的单行:
import static java.lang.System.*;
public class Main {
record Point(int x, int y, Color color){}
enum Color {RED, BLUE, YELLOW}
public static void main(String[] args) {
testSwitch(new Point(10,20,Color.BLUE));
testSwitch(new Point(10,20,Color.RED));
testSwitch("vbjhjbhbjhbj");
testSwitch(1.012);
testSwitch(Color.YELLOW);
}
static void testSwitch(Object o){
switch(o){
case null -> out.println("Null");
case Color c -> out.println("Color: "+c);
//case Point(var x, var y, Color c) when c == Color.RED -> out.printf("Red point x=%d, y=%d\n",x,y);
case Point(var x, var y, var color) -> out.printf("Point x=%d, y=%d, …Run Code Online (Sandbox Code Playgroud)