GVKun编程网logo

Eclipse错误?仅在默认情况下打开null(eclipse显示默认界面)

16

如果您想了解Eclipse错误?仅在默认情况下打开null和eclipse显示默认界面的知识,那么本篇文章将是您的不二之选。我们将深入剖析Eclipse错误?仅在默认情况下打开null的各个方面,并为

如果您想了解Eclipse错误?仅在默认情况下打开nulleclipse显示默认界面的知识,那么本篇文章将是您的不二之选。我们将深入剖析Eclipse错误?仅在默认情况下打开null的各个方面,并为您解答eclipse显示默认界面的疑在这篇文章中,我们将为您介绍Eclipse错误?仅在默认情况下打开null的相关知识,同时也会详细的解释eclipse显示默认界面的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

Eclipse错误?仅在默认情况下打开null(eclipse显示默认界面)

Eclipse错误?仅在默认情况下打开null(eclipse显示默认界面)

enum正在进行实验,发现以下代码可以在Eclipse上编译并正常运行(版本ID:20090920-1017,不确定确切的编译器版本):

public class SwitchingOnAnull {    enum X { ,; }    public static void main(String[] args) {        X x = null;        switch(x) {            default: System.out.println("Hello world!");        }    }}

在Eclipse中编译并运行时,此命令"Hello world!"会正常打印并退出。

对于javac编译器,这NullPointerException将按预期方式抛出。

那么Eclipse Java编译器中有bug吗?

答案1

小编典典

这是一个错误。这是switch根据 Java语言规范,第三版 的声明的指定行为:

[JLS 14.11

switch声明](http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11)

SwitchStatement:    switch ( Expression ) SwitchBlock

switch执行该语句时,首先对Expression进行评估。如果结果ExpressionnullNullPointerException则抛出a
,并且由于switch这个原因,整个语句突然完成。

显然,Eclipse中的错误与default大小写无关enum

public class SwitchingOnAnull {    public static void main(String[] args) {                java.math.RoundingMode x = null;        switch(x) {};        switch((Integer) null) {};        switch((Character) null) {            default: System.out.println("I''ve got sunshine!");        }           }}

上面的代码在Eclipse(至少是某些版本)上编译并运行“精细”。使用编译时,每个人都会switch抛出一个,这完全符合规范的要求。NullPointerException``javac


原因

这是javap -c SwitchingOnAnull在Eclipse下编译时的:

Compiled from "SwitchingOnAnull.java"public class SwitchingOnAnull extends java.lang.Object{public SwitchingOnAnull();Code: 0: aload_0 1: invokespecial  #8; //Method java/lang/Object."<init>":()V 4: returnpublic static void main(java.lang.String[]);Code: 0: aconst_null 1: astore_1 2: getstatic     #16; //Field java/lang/System.out:Ljava/io/PrintStream; 5: ldc           #22; //String I''ve got sunshine! 7: invokevirtual #24; //Method java/io/PrintStream.println:(Ljava/lang/String;)V10: return}

看来Eclipse编译器switch完全摆脱了整个构造。不幸的是,这种优化违反了语言规范。


官方话

该错误已归档并已分配修复。

奥利维尔·托曼(Olivier Thomann)2010-05-28 08:37:21

我们在优化上过于激进。

对于:

  switch((Integer) null) {};

我们switch至少应该评估表达式时才能优化整个语句。

我会看一看。

3.6.1的候选人。

也可以看看

  • 错误314830-打开null表达式并不总是抛出NullPointerException

android – Eclipse错误.检查Eclipse日志中的堆栈跟踪

android – Eclipse错误.检查Eclipse日志中的堆栈跟踪

什么是堆栈跟踪??

错误日志 – 控制台

[2013-12-05 12:29:15 – Android_Test01] Dx trouble writing output:
already prepared [2013-12-05 12:29:17 – Dex Loader] Unable to execute
dex: java.nio.BufferOverflowException. Check the Eclipse log for stack
trace. [2013-12-05 12:29:17 – Android_Test01] Conversion to Dalvik
format Failed: Unable to execute dex:
java.nio.BufferOverflowException. Check the Eclipse log for stack
trace.

我如何运行应用程序?

解决方法:

将项目构建目标更改为 – > Android 4.4

bash – 如何在默认情况下阻止Conda激活基础环境?

bash – 如何在默认情况下阻止Conda激活基础环境?

我最近在我的Mac上安装了anaconda2.默认情况下,Conda配置为在我打开新的终端会话时激活基本环境.

我想访问Conda命令(即我想要将Conda的路径添加到我的$PATH中,Conda在初始化时会这样做,这样就可以了).

但我通常不用python编程,我不希望Conda默认激活环境.

当第一次从提示符执行conda init时,Conda将以下内容添加到我的.bash_profile:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
    . "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
    export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<

如果我注释掉整个块,那么我就无法激活任何Conda环境.

我试图评论整个街区除外

export PATH="/Users/geoff/anaconda2/bin:$PATH"

但是当我开始一个新会话并尝试激活一个环境时,我收到了以下错误消息:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

This question(和其他人一样)很有帮助,但最终没有回答我的问题,更适合linux用户.

为了澄清,我不是要求从我的$PS1中移除(基础)我要求Conda在我打开终端会话时不激活基础.

解决方法

我有conda 4.6与conda添加的类似代码块.在我的例子中,有一个conda配置设置来禁用自动基本激活:

conda config --set auto_activate_base false

第一次运行它时,它将在您的主目录中创建一个./condarc,并使用该设置覆盖默认值.

这不会破坏你的.bash_profile,但它是一个更干净的解决方案,无需手动编辑conda管理的部分.

body在默认情况下是具有margin外边距的_html/css_WEB-ITnose

body在默认情况下是具有margin外边距的_html/css_WEB-ITnose

body在默认情况下是具有margin外边距的:
这里只是陈述一个事实,那就是body具有外边距在默认情况下。
代码实例如下:

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><style type="text/css"> body{  background:blue;}#box{  width:200px;  height:100px;  background:red;  text-align:center;  line-height:100px;}</style></head><body><div id="box">蚂蚁部落</div></body></html>
登录后复制

从上面的代码可以看出,box元素与外围有一定的空隙,再来看一段代码实例:

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><style type="text/css"> body{  background:blue;  margin:0px;}#box{  width:200px;  height:100px;  background:red;  text-align:center;  line-height:100px;}</style></head><body><div id="box">蚂蚁部落</div></body></html>
登录后复制

上面的代码可以看出,空隙消失,说明body是具有外边距的。
所以在正式些页面之前,通常先重置一下样式属性,具体可以参阅css预重置样式代码一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=18131

更多内容可以参阅:http://www.softwhy.com/divcss/

立即学习“前端免费学习笔记(深入)”;

c – 默认情况下,默认构造函数在某些情况下不可用

c – 默认情况下,默认构造函数在某些情况下不可用

class foo {
public:
   int a;
   int b;
   foo(int a_,int b_) : a(a_),b(b_) {}
};

int main() {
  foo f;
}

当我尝试编译上面的代码片段时,我收到如下错误消息:

foo.cc: In function 'int main()'

foo.cc:12: error: no matching function for call to 'main()::foo::foo()'

foo.cc:10: note: candidates are: main()::foo::foo(int,int)

foo.cc:6:  note:                 main()::foo::foo(const main()::foo&)

但如果我用两个整数prarmeters评论显式构造函数的文件,那么
代码可以编译.我猜这个魔法背后的规则是当你明白时
用参数声明构造函数,c compilor不会自动生成一个
没有参数的默认构造函数.

我对吗?如果对,为什么c有这种行为?提前致谢.

解决方法

仅当没有用户定义的构造函数时,编译器才会生成默认构造函数.

C标准12.1 / 5:

A default constructor for a class X is a constructor of class X that can be called without an argument. If there is no user-declared constructor for class X,a default constructor is implicitly declared.

我们今天的关于Eclipse错误?仅在默认情况下打开nulleclipse显示默认界面的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – Eclipse错误.检查Eclipse日志中的堆栈跟踪、bash – 如何在默认情况下阻止Conda激活基础环境?、body在默认情况下是具有margin外边距的_html/css_WEB-ITnose、c – 默认情况下,默认构造函数在某些情况下不可用的相关信息,请在本站查询。

本文标签: