小编the*_*aba的帖子

为什么我无法从 java 端创建 Kotlin 对象?

我正在研究 Kotlin 与 java 的互操作。

我找不到这样的问题的答案。我有一个来自 kotlin 的对象:

object Test {
    fun main(args: Array<String>) {

    }
}
Run Code Online (Sandbox Code Playgroud)

反编译后的形式如下所示:

public final class Test {
   public static final Test INSTANCE;

   public final void main(@NotNull String[] args) {
      Intrinsics.checkParameterIsNotNull(args, "args");
   }

   static {
      Test var0 = new Test();
      INSTANCE = var0;
   }
}
Run Code Online (Sandbox Code Playgroud)

问题是:为什么当我尝试创建对象时,我看到 Test 具有私有访问权限的错误?反编译代码中没有私有构造函数......

java kotlin

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

是否可以使用 MergeTree 引擎更新 clickhouse 中的主键?

我正在尝试更新简单表中的主键。

当我像这样执行查询时:

alter table test update id = 2 where id = 1;
Run Code Online (Sandbox Code Playgroud)

我看到消息:

Cannot UPDATE key column `id`
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?

clickhouse

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

为什么 clickhouse 同时具有 WHERE 和 PREWHERE 结构?

我正在阅读文档,只是对下一步感到好奇:

PREWHERE 就像 WHERE 的优化形式,它在过​​滤之前仅读取必要的数据,然后使用此信息为用户读取所有实际数据。

问题是为什么存在两个关键字?只要有可能就使用 WHERE 而不是 PREWHERE 似乎是不合理的。在某些情况下,使用 WHERE 是更好的选择吗?

clickhouse

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

如何使用spring数据将以数字开头的json字段转换为域对象?

我正在使用这样的资源:https : //coinmarketcap-nexuist.rhcloud.com/api/all 它以 json 形式返回加密货币列表和当前价格。

Spring Boot 在我的堆栈中,因此对于以前的所有情况,它都能很好地将 json 转换为我的域对象。但是现在我遇到了问题,因为其中一个货币名称以数字开头。如您所知,不可能使用数字作为第一个可变字母。

我用谷歌搜索找到了一些解决方法,但没有任何成功。有人知道如何处理吗?

谢谢!

java spring json spring-boot

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

为什么java允许TreeMap键和TreeSet值不可比?

这是java TreeMap实现的标题(1.8_071):

public class TreeMap<K,V>
    extends AbstractMap<K,V>
    implements NavigableMap<K,V>, Cloneable, java.io.Serializable
Run Code Online (Sandbox Code Playgroud)

为什么没有限制,像这样:

 public class TreeMap<K extends Comparable<?>,V>
        extends AbstractMap<K,V>
        implements NavigableMap<K,V>, Cloneable, java.io.Serializable
Run Code Online (Sandbox Code Playgroud)

java treemap treeset

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

如何将unix时间戳转换为ruby中的格式化日期?

我正在为 ruby​​ date api 苦苦挣扎。我需要将时间戳数字转换为格式化日期。但是当我使用:

Time.at(1517486994710).to_datetime
Run Code Online (Sandbox Code Playgroud)

或者

DateTime.strptime("1517486994710",'%s')
Run Code Online (Sandbox Code Playgroud)

(1517486994710 是今天的 unix 时间戳),我看到 50057 年作为输出。我在做什么错?

ruby date

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

有没有办法在netty中获取端口信息?

我无法在网络上找到答案。

有人知道如何在netty服务器中获取动态分配的端口信息吗?

服务器以这种方式引导:

override fun startSocket() {
    try {
        val serverBootstrap = ServerBootstrap()
        serverBootstrap.group(group)
        serverBootstrap.channel(NioServerSocketChannel::class.java)
        if(peerInfo is DynamicPortPeerInfo) {
            serverBootstrap.localAddress(InetSocketAddress(peerInfo.host, 0))
        } else {
            serverBootstrap.localAddress(InetSocketAddress(peerInfo.host, peerInfo.port))
        }
        serverBootstrap.childHandler(object : ChannelInitializer<SocketChannel>() {
            override fun initChannel(socketChannel: SocketChannel) {
                socketChannel.pipeline()
                        .addLast(NettyIO.framePrepender)
                        .addLast(LengthFieldBasedFrameDecoder(MAX_PAYLOAD_SIZE, 0, packetSizeLength, 0, packetSizeLength))
                        .addLast(ServerHandler())
            }
        })
        val channelFuture = serverBootstrap.bind().sync()
        channelFuture.channel().closeFuture().sync()
    } catch (e: Exception) {
        logger.error(e.toString())
    }
}
Run Code Online (Sandbox Code Playgroud)

java netty kotlin

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

标签 统计

java ×4

clickhouse ×2

kotlin ×2

date ×1

json ×1

netty ×1

ruby ×1

spring ×1

spring-boot ×1

treemap ×1

treeset ×1