来自Joshua Bloch的Effective Java,
协变只是意味着如果X是Y的子类型,那么X []也将是Y []的子类型.数组是协变的因为字符串是Object So的子类型
String[] is subtype of Object[]
不变量仅仅意味着X不是Y的子类型,
List<X> will not be subType of List<Y>.
Run Code Online (Sandbox Code Playgroud)我的问题是为什么决定在Java中使数组协变?还有其他SO帖子,例如为什么阵列不变,但列出协变?,但他们似乎专注于Scala,我无法遵循.
我正在阅读argparse模块.因为metavar和行动意味着什么,我陷入了困境
>>> parser.add_argument('integers', metavar='N', type=int, nargs='+',
... help='an integer for the accumulator')
>>> parser.add_argument('--sum', dest='accumulate', action='store_const',
... const=sum, default=max,
... help='sum the integers (default: find the max)')
Run Code Online (Sandbox Code Playgroud)
我可能错过了,但从我读到的,我找不到metavar和的
定义action (action="store_const", etc).他们究竟是什么意思?
我在这里的帖子标题可能会产生误导.首先来看看我目前的HTML:

如您所见,每列的文本内容都溢出到下一列.其次,它们中的每一个都不是水平对齐的.(例如,链接view details不直接对齐).我希望它们能够直接对齐,而不管文本的长度.
这是我的HTML代码:(这里的内容是动态生成的.所以项目的数量会有所不同).我在我的代码中使用bootstrap 3.
<div class="row" style="box-shadow: 0 0 30px black;">
<div class="col-6 col-sm-6 col-lg-4">
<h3>2005 Volkswagen Jetta 2.5 Sedan (worcester http://www.massmotorcars.com) $6900</h3>
<p>
<small>2005 volkswagen jetta 2.5 for sale has 110,000 miles powere doors,power windows,has ,car drives excellent ,comes with warranty if you're ...</small>
</p>
<p>
<a class="btn btn-default" href="/search/1355/detail/" role="button">View details »</a>
<button type="button" class="btn bookmark" id="1355" >
<span class="
glyphicon glyphicon-star-empty "></span>
</button>
</p>
</div>
<!--/span-->
<div class="col-6 col-sm-6 col-lg-4">
<h3>2006 Honda Civic EX …Run Code Online (Sandbox Code Playgroud) html css django-templates twitter-bootstrap twitter-bootstrap-3
我已经看过有关protected和package private修饰符之间差异的各种文章.有一件事我发现这两个帖子之间存在矛盾
在这个被接受的答案说
protected修饰符指定只能在其自己的包中访问该成员(与package-private一样),此外,还可以在另一个包中通过其类的子类访问该成员.
在这个被接受的答案说
要满足受保护级别访问,必须满足两个条件:
- 这些类必须在同一个包中.
- 必须有继承关系.
他们不矛盾吗?根据我对其他文章的理解,第一篇文章给出了正确的答案,即在其他包中保护== package-private + subclass.
如果此语句是正确的,那么为什么此代码失败,并在第17行的子类Cat上出现以下错误消息
The method testInstanceMethod() from the type Animal is not visible
Run Code Online (Sandbox Code Playgroud)
我的超级和子类代码如下.
package inheritance;
public class Animal {
public static void testClassMethod() {
System.out.println("The class" + " method in Animal.");
}
protected void testInstanceMethod() {
System.out.println("The instance " + " method in Animal.");
}
}
package testpackage;
import inheritance.Animal;
public class Cat extends Animal{
public static void testClassMethod() {
System.out.println("The class method" + " in Cat."); …Run Code Online (Sandbox Code Playgroud) 我发现此代码在SO帖子中找到重复项.但我不明白这条线的含义int mid = (low + high) >>> 1;
private static int findDuplicate(int[] array) {
int low = 0;
int high = array.length - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
System.out.println(mid);
int midVal = array[mid];
if (midVal == mid)
low = mid + 1;
else
high = mid - 1;
}
return high;
}
Run Code Online (Sandbox Code Playgroud) 在将此标记为重复之前,我查看了这些帖子,但没有任何帮助. "mvn"未被识别为内部或外部命令, 找不到-bash:mvn:命令,无法从命令行访问mvn命令?
有些是特定的窗口,没有帮助.他们中的一些人在Mac OS X上提出了建议,我试过但没有帮助.
我尝试了什么(这正是Maven建议):
将分发存档(即apache-maven-3.1.1-bin.tar.gz)解压缩到要安装Maven 3.1.1的目录.这些说明假设您选择了/ usr/local/apache-maven.将从存档创建子目录apache-maven-3.1.1.在命令终端中,添加M2_HOME环境变量,例如export M2_HOME =/usr/local/apache-maven/apache-maven-3.1.1.添加M2环境变量,例如导出M2 = $ M2_HOME/bin.可选:添加MAVEN_OPTS环境变量以指定JVM属性,例如export MAVEN_OPTS =" - Xms256m -Xmx512m".此环境变量可用于为Maven提供额外选项.将M2环境变量添加到路径中,例如export PATH = $ M2:$ PATH.确保将JAVA_HOME设置为JDK的位置,例如导出JAVA_HOME =/usr/java/jdk1.5.0_02,并且$ JAVA_HOME/bin位于PATH环境变量中.运行mvn --version以验证它是否已正确安装.
我看到terminal我用于安装,它工作正常.我没有这个问题.但是当我尝试新的时候terminal,我得到了command not found.
我也加入export PATH=$M2了我.bashrc,我做了source然后重新启动终端,仍然没有帮助.
有人可以建议如何在终端的所有会话中提供它吗?
谢谢
当我正在阅读什么AF_INET方式时,我了解到还有另一个家庭UNIX domain socket.这是我读到的关于此的维基链接.
我不明白这意味着什么:
Unix域套接字使用文件系统作为其地址名称空间.它们被进程引用为文件系统中的inode.这允许两个进程打开同一个套接字以进行通信.但是,通信完全在操作系统内核中进行.
如果我想这样做SSH or FTP,我会使用哪个家庭AF_INET or AF_UNIX.我实际上有点困惑.
我有这个用于计算fibonacci数字的代码python.它起作用并给出预期的结果.但是当我翻译相同时Java,它失败了.知道这里出了什么问题吗?
在python:
def fib3(n):
a,b=0,1
while n>0:
a,b=b,a+b
n-=1
return a
Run Code Online (Sandbox Code Playgroud)
fib3(12) --> 144
在Java:
public static int fib2(int n){
int a = 0;
int b =1;
while(n-- >0){
a=b;
b=a+b;
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
fib2(12) --> 2048
TreeSet将元素放入SortedSet或提供NavigableSet?.
A NavigableSets也使元素保持自然顺序
但他们和他们之间有什么区别 TreeSet
哪里SortedSet有用?一些示例显示它的使用对初学者来说会很好.
这是一个非常基本的问题.我试图谷歌找到我能用简单语言理解的答案.但这没有帮助.我遇到了下面的代码片段,Django's UserCreationForm然后才知道ugettext_lazy _存在的东西.我不知道,如果它是django specific module/function,它的目的是什么以及为什么要使用它.
SO中有这篇文章,对此有更多的讨论.但我想先了解基本面.请赐教!
from django.utils.translation import ugettext, ugettext_lazy as _
///// what is the _ means here and why is it used
class UserCreationForm(forms.ModelForm):
"""
A form that creates a user, with no privileges, from the given username and
password.
"""
error_messages = {
'duplicate_username': _("A user with that username already exists."),
'password_mismatch': _("The two password fields didn't match."),
}
Run Code Online (Sandbox Code Playgroud)