小编Nav*_*lot的帖子

如何实现通用接口的方法?

我有这个界面:

public interface ParsableDTO<T> {
    public <T> T parse(ResultSet rs) throws SQLException;
}
Run Code Online (Sandbox Code Playgroud)

在某种dto类中实现,并在另一个类中实现此方法:

public <T extends ParsableDTO<T>> List<T> getParsableDTOs(String table, 
                                                          Class<T> dto_class) {
    List<T> rtn_lst = new ArrayList<T>();
    ResultSet rs = doQueryWithReturn(StringQueryComposer
            .createLikeSelectQuery(table, null, null, null, true));

    try {
        while(rs.next()) {
            rtn_lst.add(T.parse(rs)); //WRONG, CAN'T ACCESS TO parse(...) OF ParsableDTO<T>
        }
        rs.close();
    } catch (SQLException e) {
        System.err.println("Can't parse DTO from " 
                + table + " at " + dateformat.format(new Date()));
        System.err.println("\nError on " + e.getClass().getName() 
                + ": " + …
Run Code Online (Sandbox Code Playgroud)

java generics methods interface implements

10
推荐指数
1
解决办法
504
查看次数

docker-compose:服务器请求客户端未知的身份验证方法

我有这个yml文件用于在docker中配置MySQL:

# Use root/example as user/password credentials
version: '3.1'

services:

  db:
    image: mysql
    restart: always
    environment:
       MYSQL_ROOT_PASSWORD: 'pass'
       MYSQL_DATABASE: 'db'
       MYSQL_USER: 'user'
       MYSQL_PASSWORD: 'pass'

  adminer:
    image: adminer
    restart: always
    ports:
      - 8888:8080
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令从yml所在的同一目录中启动容器:

docker-compose -f stack.yml以上

然后我得到了这个错误:

然后登录时出现以下错误

mysql docker docker-compose mysql-8.0

9
推荐指数
3
解决办法
5996
查看次数

规范中没有定义任何操作!在 swagger ui 中指定多个路径时

我想在 Swagger ui 中显示两个 REST API 端点:/cart 和 /post。

当我指定 /cart 或 /post 工作正常但都显示我的错误为

规范中没有定义任何操作!

在 swagger-ui 中

@Bean
public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.ant("/cart"))
        .paths(PathSelectors.ant("/post"))
        .build();
}
Run Code Online (Sandbox Code Playgroud)

java scala swagger swagger-ui

9
推荐指数
1
解决办法
9798
查看次数

Scala案例类使用浅拷贝还是深拷贝?

case class Person(var firstname: String, lastname: String)

val p1 = Person("amit", "shah")
val p2 = p1.copy()
p1.firstname = "raghu"
p1
p2

p1 == p2
Run Code Online (Sandbox Code Playgroud)

正如我通过一些文档说scala复制方法的案例类使用浅拷贝

但是这个例子的输出我无法破解

我已经从p1创建了副本p2,然后我将p1.firstname更改为"raghu"

因此,如果是浅拷贝,它应该改变p2.firstname的值,但这不会发生在这里

参考:https://docs.scala-lang.org/tour/case-classes.html

scala shallow-copy

8
推荐指数
2
解决办法
990
查看次数

spring“propdeps-plugin”不再工作

我曾经能够使用 Gradle 下载我的插件依赖项之一,但它现在已停止运行。

有人利用或熟悉问题的根本原因吗?

Maven依赖链接

Error which i'm getting:

problem occurred configuring root project 'Api-prog'.
> Could not resolve all files for configuration ':classpath'.
   > Could not download propdeps-plugin.jar (org.springframework.build.gradle:propdeps-plugin:0.0.7)
      > Could not get resource 'https://repo.spring.io/plugins-release/org/springframework/build/gradle/propdeps-plugin/0.0.7/propdeps-plugin-0.0.7.jar'.
         > Could not GET 'https://repo.spring.io/plugins-release/org/springframework/build/gradle/propdeps-plugin/0.0.7/propdeps-plugin-0.0.7.jar'. Received status code 401 from server: 


Here is my gradle setting and error


buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
        jcenter()
        maven { url "https://repo.spring.io/plugins-release/" }
    }
    dependencies {
        classpath "org.springframework.build.gradle:propdeps-plugin:0.0.7"
    }
}

Run Code Online (Sandbox Code Playgroud)

spring build.gradle

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

Java 类文件知道空格吗?

我写了一个 Java 程序,然后编译它,然后反编译它并得到一个 Java 文件。反编译器将精确缩进的精确 Java 文件返回给我的原始 Java 文件,但这就是反编译器所做的,这不是问题,在我脑海中燃烧的问题是缩进。

由于反编译的 Java 文件与原始文件具有完全相同的缩进,因此我得出结论,类文件也存储了缩进数据。

现在的问题如下:

  1. 我的结论正确吗?

如果是:

  1. 为什么类文件需要知道缩进?

  2. 缩进是为了可读性,没有人读取类文件,那么为什么类文件不能存储它并节省一些空间呢?

  3. 类文件只是一个加密的 Java 源文件,反编译器可以在其中解密以返回原始文件吗?

java decompiler

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