标签: java-20

如何替换 Java 20 中已弃用的 URL 构造函数?

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 java-20

8
推荐指数
1
解决办法
1万
查看次数

java 20 解构功能中的错误?

以下是 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)

java java-20

5
推荐指数
1
解决办法
217
查看次数

标签 统计

java ×2

java-20 ×2