如果您想了解Eclipse错误?仅在默认情况下打开null和eclipse显示默认界面的知识,那么本篇文章将是您的不二之选。我们将深入剖析Eclipse错误?仅在默认情况下打开null的各个方面,并为
如果您想了解Eclipse错误?仅在默认情况下打开null和eclipse显示默认界面的知识,那么本篇文章将是您的不二之选。我们将深入剖析Eclipse错误?仅在默认情况下打开null的各个方面,并为您解答eclipse显示默认界面的疑在这篇文章中,我们将为您介绍Eclipse错误?仅在默认情况下打开null的相关知识,同时也会详细的解释eclipse显示默认界面的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- Eclipse错误?仅在默认情况下打开null(eclipse显示默认界面)
- android – Eclipse错误.检查Eclipse日志中的堆栈跟踪
- bash – 如何在默认情况下阻止Conda激活基础环境?
- body在默认情况下是具有margin外边距的_html/css_WEB-ITnose
- c – 默认情况下,默认构造函数在某些情况下不可用
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
进行评估。如果结果Expression
为null
,NullPointerException
则抛出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日志中的堆栈跟踪
什么是堆栈跟踪??
错误日志 – 控制台
[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激活基础环境?
我想访问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 config --set auto_activate_base false
第一次运行它时,它将在您的主目录中创建一个./condarc,并使用该设置覆盖默认值.
这不会破坏你的.bash_profile,但它是一个更干净的解决方案,无需手动编辑conda管理的部分.
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 – 默认情况下,默认构造函数在某些情况下不可用
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错误?仅在默认情况下打开null和eclipse显示默认界面的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – Eclipse错误.检查Eclipse日志中的堆栈跟踪、bash – 如何在默认情况下阻止Conda激活基础环境?、body在默认情况下是具有margin外边距的_html/css_WEB-ITnose、c – 默认情况下,默认构造函数在某些情况下不可用的相关信息,请在本站查询。
本文标签: