小编eag*_*arn的帖子

为什么数组是协变的但是泛型是不变的?

来自Joshua Bloch的Effective Java,

  1. 数组在两个重要方面与通用类型不同.第一个数组是协变的.泛型是不变的.
  2. 协变只是意味着如果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,我无法遵循.

java arrays generics language-design covariance

157
推荐指数
3
解决办法
3万
查看次数

metavar和action在Python中的argparse中意味着什么?

我正在阅读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).他们究竟是什么意思?

python action argparse

50
推荐指数
2
解决办法
4万
查看次数

bootstrap 3在div中包装文本内容以进行水平对齐

我在这里的帖子标题可能会产生误导.首先来看看我目前的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&#39;re ...</small>
        </p>
        <p>
          <a class="btn btn-default" href="/search/1355/detail/" role="button">View details &raquo;</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

35
推荐指数
3
解决办法
11万
查看次数

Java中的protected和package-private访问修饰符之间的区别?

我已经看过有关protected和package private修饰符之间差异的各种文章.有一件事我发现这两个帖子之间存在矛盾

  1. "包私有"成员访问是否与默认(无修饰符)访问同义?

    在这个被接受的答案说

    protected修饰符指定只能在其自己的包中访问该成员(与package-private一样),此外,还可以在另一个包中通过其类的子类访问该成员.

  2. 为什么受保护的修饰符在Java子类中的行为方式不同?

    在这个被接受的答案说

    要满足受保护级别访问,必须满足两个条件:

    • 这些类必须在同一个包中.
    • 必须有继承关系.

他们不矛盾吗?根据我对其他文章的理解,第一篇文章给出了正确的答案,即在其他包中保护== 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)

java protected access-modifiers package

34
推荐指数
2
解决办法
4万
查看次数

什么">>>"在java中意味着什么?

我发现此代码在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)

java arrays primitive

31
推荐指数
3
解决办法
5万
查看次数

在OSX Mavrerick中找不到mvn命令

在将此标记为重复之前,我查看了这些帖子,但没有任何帮助. "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然后重新启动终端,仍然没有帮助.

有人可以建议如何在终端的所有会话中提供它吗?

谢谢

macos bash terminal maven

29
推荐指数
5
解决办法
10万
查看次数

解释unix域套接字的示例 - AF_INET vs AF_UNIX

当我正在阅读什么AF_INET方式时,我了解到还有另一个家庭UNIX domain socket.这是我读到的关于此的维基链接.

我不明白这意味着什么:

Unix域套接字使用文件系统作为其地址名称空间.它们被进程引用为文件系统中的inode.这允许两个进程打开同一个套接字以进行通信.但是,通信完全在操作系统内核中进行.

如果我想这样做SSH or FTP,我会使用哪个家庭AF_INET or AF_UNIX.我实际上有点困惑.

unix sockets network-protocols

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

fibonacci在python中工作但在Java中失败

我有这个用于计算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

python java fibonacci

20
推荐指数
5
解决办法
1088
查看次数

Java中的navigableSet,SortedSet和TreeSet之间的区别?

TreeSet将元素放入SortedSet或提供NavigableSet?.

A NavigableSets也使元素保持自然顺序

但他们和他们之间有什么区别 TreeSet

哪里SortedSet有用?一些示例显示它的使用对初学者来说会很好.

java set sortedset treeset

18
推荐指数
2
解决办法
3万
查看次数

什么是ugettext和ugettext_lazy以及为什么要在django中使用它们?

这是一个非常基本的问题.我试图谷歌找到我能用简单语言理解的答案.但这没有帮助.我遇到了下面的代码片段,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)

django django-models django-views

15
推荐指数
1
解决办法
9301
查看次数