小编Saw*_*yer的帖子

Java数组狭窄的转换规则

根据JLS 7,5.1.6缩小参考转换

•从任何阵列类型SC []到任何阵列类型TC [],前提是SC和TC是参考类型,并且从SC到TC有一个缩小的参考转换.

Object[] objArr = {"a","b","c"};
String[] strArr = (String[])objArr; // ClassCastException
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,objArr和strArr都是引用类型,并且从Object到String的引用转换很窄.

Object obj = "a";
String str = (String)obj;
Run Code Online (Sandbox Code Playgroud)

但以下代码工作正常:

Object[] objArr = (Object[])java.lang.reflect.Array.newInstance(String.class, 3);
String[] strArr = (String[])objArr;
Run Code Online (Sandbox Code Playgroud)

我想问一下java使用的规则来进行转换.据我所知,两个例子之间的区别在于,在第一个例子中,objArr是一个Object数组,其组件类型为Object.第二个是Object数组,其组件类型为String.

请注意,我不是要求如何进行转换,不要告诉我如何使用Arrays.copyOf或其他库来执行此操作.

java reflection casting

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

如何在weblogic中远程部署应用程序?

我有两台电脑,我不想在我的开发计算机上安装weblogic和oracle,它们占用了太多的内存,问题是如何将我的应用程序部署在开发计算机上另一台安装了oracle和weblogic的免费计算机?我使用的是weblogic 10.3.

deployment weblogic weblogic-10.x

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

人们为什么定义对象扩展其伴侣类?

我发现这种代码在Lift框架中很常见,写得像这样:
object BindHelpers extends BindHelpers {} 这是什么意思?

scala

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

argumentparser关闭文件参数

argumentparser可以获取文件类型参数并直接打开文件,例如:

parser.add_argument('infile', nargs='?', type=argparse.FileType('r'))
args = parser.parse_args().__dict__
input = args['infile'].readlines()
Run Code Online (Sandbox Code Playgroud)

我需要关闭args['infile']我的程序吗?辩论者会为我关闭吗?我没有在文件中找到任何提及的内容.

python

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

使用JavaFX图表API绘制图表图像

我只想从JavaFX图表API生成图表图像.我不想显示应用程序窗口,也不想启动应用程序(如果没有必要).

public class LineChartSample extends Application {
    private List<Integer> data;

    @Override public void start(Stage stage) {
        stage.setTitle("Line Chart Sample");
        final CategoryAxis xAxis = new CategoryAxis();
        final NumberAxis yAxis = new NumberAxis();
        xAxis.setLabel("Month");       

        final LineChart<String,Number> lineChart = 
                new LineChart<String,Number>(xAxis,yAxis);

        lineChart.setTitle("Stock Monitoring, 2010");

        XYChart.Series series = new XYChart.Series();
        series.setName("My portfolio");

        series.getData().add(new XYChart.Data("Jan", 23));
        series.getData().add(new XYChart.Data("Feb", 14));        

        Scene scene  = new Scene(lineChart,800,600);
        lineChart.getData().add(series);

        WritableImage image = scene.snapshot(null);
        ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", chartFile);

        //stage.setScene(scene);
        //stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

   public …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2 javafx-8

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

如何签一个罐子永不过期?

我曾经jarsigner签署我的jar文件.但是我收到了一个警告:

Warning:
This jar contains entries whose signer certificate will expire within six months.
Run Code Online (Sandbox Code Playgroud)

如何让它永远不会过期或在更长的时间内过期?

java jar jar-signing java-ee

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

在REPL中找到一个类型?

例如:

scala> val b = new ArrayBuffer[Int]()
<console>:7: error: not found: type ArrayBuffer
       val b = new ArrayBuffer[Int]()
                   ^
Run Code Online (Sandbox Code Playgroud)

我可以使用REPL查找ArrayBuffer的完整路径并导入它吗?

scala

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

如果跌倒

什么是Haskell等效模式,如果在命令式语言中落空,例如:

function f (arg, result) {
    if (arg % 2 == 0) {
     result += "a"
    }

    if (arg % 3 == 0) {
     result += "b"
    }

    if (arg % 5 == 0) {
     result += "c"
    }

    return result
}
Run Code Online (Sandbox Code Playgroud)

haskell

7
推荐指数
5
解决办法
746
查看次数

nid在j​​ava线程转储中意味着什么?

例如,你有一个像这样的转储:

"MyThread"prio = 1 tid = 0x0850c9f8 nid = 0x1baf runnable

这里的nid是什么意思?它是pid或lwpid的十六进制值吗?

java linux multithreading gdb jvm

6
推荐指数
2
解决办法
5079
查看次数

为什么注释lambda类型不需要-XScopedTypeVariables?

这需要 -XScopedTypeVariables

handle(\(_::SomeException) -> return Nothing)
Run Code Online (Sandbox Code Playgroud)

但事实并非如此

handle((\_ -> return Nothing)::SomeException -> IO (Maybe Integer))
Run Code Online (Sandbox Code Playgroud)

如果::允许在函数体内注释类型,为什么它需要一个pragma来注释一个局部变量?

haskell

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