我在一本书中查了一下,这本书在解释方面通常比网站更全面.
以此为例:
if (nickname == "Bob")
Run Code Online (Sandbox Code Playgroud)
仅当nickname引用相同的String对象时,该条件才为真.
这是我发现令人困惑的一句话,任何人都可以解释为什么会这样:
为了提高效率,Java只为每个字符串常量生成一个字符串对象.
该书指出,组装对象"鲍勃"的方式也会影响条件是否真实,这最让我困惑.
例如:
String nickname = "Bob";
...
if (nickname == "Bob") //TRUE
Run Code Online (Sandbox Code Playgroud)
但是如果从.substring()方法创建"Bob" ,则条件将为FALSE.
String name = "Robert";
String nickname = name.substring(0,3);
...
if (nickname == "Rob")//FALSE
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
编辑:在本书的解释结束时,我发现了一句让我困惑的句子:
因为字符串对象总是由编译器构造,所以您永远不会对是否共享两个字符串对象感兴趣.
我们编写的所有内容都不是由编译器构建的吗?
这就是我要的.垂直输入字段,'x'是关闭按钮:
这是我到目前为止:
*{
margin:0;
padding:0;
}
html,body{
height:100%;
width:100%;
}
.sidenav{
height:100%;
width:20%;
background:#111;
overflow-x:hidden;
box-sizing:border-box;
padding:calc((20% - 50px)/2);
}
.sidenav a{
position:relative;
bottom:18px;
font-size:90px;
color:#818181;
}Run Code Online (Sandbox Code Playgroud)
<div class='sidenav''>
<a>×</a>
</div>Run Code Online (Sandbox Code Playgroud)
我知道如何制作一个常规的,无骨的html输入字段:
<form>
<input type=text placeholder='enter name'></input>
<input type='submit' id='submit'></input>
</form>Run Code Online (Sandbox Code Playgroud)
编辑:我想整合它以使风格统一,如CodePen的这个搜索栏:
我有一个侧滑菜单栏.我做了两个.一个带有菜单图标,您可以单击以关闭它并打开另一个带有关闭图标的菜单栏.
问题是我的JS代码,并且CSS转换动画也没有足够的时间让一个人在另一个开始扩展之前关闭.因此,两个菜单栏在中间相遇并创建一个混乱的动画.
function closeIt(){
document.getElementById('mysidenav').style.width='0px';
document.getElementById('mysidenav2').style.width='20%';
}
function openIt(){
document.getElementById('mysidenav').style.width='20%';
document.getElementById('mysidenav2').style.width='0px';
}Run Code Online (Sandbox Code Playgroud)
*{
margin:0;
padding:0;
}
html,body{
height:100%;
width:100%;
}
.sidenav{
height:100%;
width:20%;
background:#111;
transition:1s;
overflow-x:hidden;
}
.sidenav a{
font-size:90px;
color:#818181;
}
/*SECOND SIDE BAR*/
.sidenav2{
height:100%;
width:0%;
background:#111;
overflow-x:hidden;
position:fixed;
top:0;
transition:1s;
}
.sidenav2 a {
font-size:50px;
color:#818181;
}Run Code Online (Sandbox Code Playgroud)
<div id='mysidenav'class='sidenav'>
<a onclick='closeIt()'>×<a>
</div>
<div id='mysidenav2'class='sidenav2'>
<a onclick='openIt()'>☰<a>
</div>Run Code Online (Sandbox Code Playgroud)
通常,使用空间使程序看起来很容易组织,这是一个很好的编程风格.例如,在数学运算之间,有组织的程序员通常会放置空间.
但我也看到人们使用骆驼案.喜欢outOfBoundException.
为什么程序员不能只使用空间而不是在驼峰的情况下编写名称/标识符?