小编use*_*046的帖子

为什么每次构建时,相同的JAR文件都有不同的哈希值?

我一直在考虑检查jar文件的哈希值,以确定它是否已经改变,但事实证明,每次构建它时,相同的jar文件都有不同的哈希值(从eclipse导出为jar文件,或者使用maven构建它) ).我删除了清单文件的日期值和内容,但它仍然不同.字节码生成中是否包含时间戳或其他内容?

java bytecode jar maven

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

为什么Kotlin的字符串插值在Java中连接字符串?

所以,基本上我想知道Kotlin的字符串插值在Java中是如何看的(反编译的字节码).起初我以为它会使用StringBuffer(或StringBuilder)或String.format(),但似乎它确实连接.这样做真的是最佳的吗?字符串池怎么样?

这是我的Kotlin代码:

fun main(args: Array<String>) {

    val age : Int = 24
    var mySuperString : String = "Dato is ${age} years old!"

    println(mySuperString)
}
Run Code Online (Sandbox Code Playgroud)

这里是我用*.class文件反编译的Java代码:

import java.io.PrintStream;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import org.jetbrains.annotations.NotNull;

@Metadata(mv={1, 1, 6}, bv={1, 0, 1}, k=2, d1={"\000\024\n\000\n\002\020\002\n\000\n\002\020\021\n\002\020\016\n\002\b\002\032\031\020\000\032\0020\0012\f\020\002\032\b\022\004\022\0020\0040\003?\006\002\020\005?\006\006"}, d2={"main", "", "args", "", "", "([Ljava/lang/String;)V", "KotlinProject"})
public final class MainKt
{
  public static final void main(@NotNull String[] args)
  {
    Intrinsics.checkParameterIsNotNull(args, "args");int age = 24;
    String mySuperString = "Dato is " + age + " years old!";

    System.out.println(mySuperString);
  } …
Run Code Online (Sandbox Code Playgroud)

java string interpolation kotlin

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

如何确定C++中的文件中的字符串是float还是double?

我想解析文件,并确定如果我读过的数量floatdouble.我解析的文件是Matrix Market格式的矩阵之一(如下所示:https://sparse.tamu.edu/HB/1138_bus).

基本上输入按此顺序int int float (or double):

1138 1138 2596
1 1 1474.779
5 1 -9.017133
563 1 -5.730659
2 2 9.136654
10 2 -3.405995
Run Code Online (Sandbox Code Playgroud)

等等...

当我读取浮点数时,我想确定数字是否可以存储float或者需要大的数据,比如double.

是否有一些最好的阅读方式,同时确定字符串是否可以存储floatdouble

c++ floating-point double parsing

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

促销是在Java增量之前发生的吗?

我在OCA问题中看到了这个问题,需要知道为什么输出90而不是100.这里是代码:

int x = 9;
long y = x * (long) (++x);
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)

那么,我认为这会做的是,首先,增加x(因为这是第一次发生的事情?)然后它会进行类型提升并取左x,即10,将其变为long并乘以这两个long.对?

java pre-increment type-promotion

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