小编Evd*_*afa的帖子

Maven依赖解析(冲突)

假设我有四个项目:

  • 项目A(依赖于B和D)
  • 项目B(依赖于D)
  • 项目C(依赖于D)
  • 项目D.

在这种情况下,如果我运行项目A,Maven将正确解析对D的依赖.如果我理解正确,Maven总是采用最短路径的依赖.由于D是A的直接依赖,因此将使用它而不是在B中指定的D.

但现在假设这个结构:

  • 项目A(依赖于B和C)
  • 项目B(依赖于D)
  • 项目C(依赖于D)
  • 项目D.

在这种情况下,解析D的路径具有相同的深度.发生的事情是Maven会发生冲突.我知道有可能告诉Maven他应该排除依赖关系.但我的问题是如何解决这类问题.我的意思是在现实世界的应用程序中,你有很多依赖,也可能有很多冲突.

最佳实践解决方案是真的排除东西还是有其他可能的解决方案?当我突然得到ClassNotFound Exception时,我发现很难处理,因为某些版本已经改变,这导致Maven采取不同的依赖.知道这一事实的原因使得更容易猜测问题是依赖性冲突.

我正在使用maven 2.1-SNAPSHOT.

java maven-2 maven

67
推荐指数
5
解决办法
4万
查看次数

==运算符对String有什么用?

在Java中,如果要检查两个字符串是否相等,在它们的值相同的意义上,他/她需要使用该equals方法.例如:

String foo = "foo"; 
String bar = "bar";
if(foo.equals(bar)) { /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)

如果想要检查参考相等性,他需要在两个字符串上使用==运算符.

if( foo == bar ) { /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)

所以我的问题是==运算符是否用于String类?为什么要比较字符串引用?

编辑:问:如何比较字符串?==如何工作?该equals方法如何工作?

我要问的是==运算符对Java中的String类有什么用处?不重载它的理由是什么,以便进行深入的比较?

java string

6
推荐指数
2
解决办法
1312
查看次数

用于将数字表示为String,Integer.java的所有可能的字符

在Integer.java中,有以下代码:

/**
 * All possible chars for representing a number as a String
 */
final static char[] digits = {
    '0' , '1' , '2' , '3' , '4' , '5' ,
    '6' , '7' , '8' , '9' , 'a' , 'b' ,
    'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,
    'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,
    'o' , 'p' , 'q' , 'r' , 's' , 't' , …
Run Code Online (Sandbox Code Playgroud)

java hex integer

6
推荐指数
2
解决办法
915
查看次数

如何在 IntelliJ 中将默认终端名称更改为动态名称?

我最近经常使用IntelliJ的集成终端。我经常打开 10 多个标签。我正在寻找一种根据当前目录重命名所述选项卡的方法。有这么多选项卡真的很令人困惑,所以我不得不通过右键单击并执行“重命名会话”来手动重命名每个选项卡。例如:

在此输入图像描述

有没有办法将 IntelliJ 中的终端选项卡名称设置为基于脚本的动态/可配置的名称或比静态字符串更智能的名称?

我尝试过的事情:

  • 例如,类似的内容在此处的答案echo -ne "\e]1;$PWD\a"中进行了讨论 。但是,这不会产生任何结果,并且选项卡名称保持不变。
  • 我还尝试在 IDEA 的首选项中设置“选项卡名称”,如下所示。我尝试将其设置为 $(PWD),但这不起作用。它仍然粘在那个静态字符串上。

在此输入图像描述

intellij-idea

5
推荐指数
0
解决办法
376
查看次数

Android的SQLite的.一对多的关系

我的问题是关于使用sqlite和android.

我有这个应用程序,它将记录位置,并为每个位置,用户将能够添加照片.

我有桌子

locations(loc_id INTEGER, longitude REAL ,latitude REAL)

哪作得很好.但我需要创建第二个照片.照片表将照片的路径名称保存为TEXT.它还必须具有另一个字段,该字段通过loc_id作为外键引用特定位置.问题是我不知道如何将这两者联系起来.

任何帮助非常感谢谢谢!

database sqlite android one-to-many android-sqlite

4
推荐指数
1
解决办法
4876
查看次数

Java final String,C++等价物.我的理解是否正确?

所以我偶然发现了以下Java代码:

final String osName = System.getProperty("os.name");
Run Code Online (Sandbox Code Playgroud)

我在其他几个StackOverFlow问题中读过String类实际上是不可变的.所以我问自己以下的事情,为什么String声明为final?

我对C++不是很了解,但是为了理解幕后发生的事情(在Java中),我决定看看C++中的等价物是什么.

如果我的理解是正确的,那么使Java中的String final与使C++中的指针成为const是等价的,那就是指针变量所指向的是无法改变的.Java中的限制是你只能改变指向该String的指针的常量,但指针指向的内存量是不可变的.

所以我的问题是我是正确的还是我错过了其他的东西?

c++ java string

4
推荐指数
1
解决办法
275
查看次数

C#控制台应用程序可以接收空参数吗?

我在用C#编写的命令行应用程序上进行sanitaion.我想知道是否需要对传入的string[] args数组执行空检查?例如:

static int Main(string[] args)
{         
    if(args != null) { // is this needed?

    }
}
Run Code Online (Sandbox Code Playgroud)

请注意我发现了类似的关于Java的问题,但无法找到任何与C#(通常是.NET)中的命令行参数有关的内容.

另请注意,我确实尝试不向我的命令行应用程序传递任何参数,并且从未设法使args数组对象为null.我也尝试使用Environment.GetCommandLineArgs() 实用程序函数访问命令行参数,并且也从不为null.

我也阅读了MS编写的这本指南,并没有看到任何明确的保证args数组永远不会为null.

编辑:简化我的例子.

c# command-line

4
推荐指数
1
解决办法
769
查看次数

Chrome 67上新的Date()损坏

从Chrome 67(完整版本为67.0.3396.87)开始,我在创建新的Date对象时遇到了怪异的行为。最小的可重现情况如下:

    <html>
    <body>    
    <script>    alert(new Date(-62135596800000));        </script>
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

在Firefox 60.0.2上,警报消息为:

Mon Jan 01 0001 00:00:00 GMT+0000 (GMT Standard Time)

在Internet Explorer 11和Edge 41.16299.461.0上,警报消息与Firefox相同:

Mon Jan 01 0001 00:00:00 GMT+0000 (GMT Standard Time)
Run Code Online (Sandbox Code Playgroud)

但是,在Chrome 67上,我看到了:

Sun Dec 31 0000 23:58:45 GMT-0001 (Greenwich Mean Time)
Run Code Online (Sandbox Code Playgroud)

编辑: JsFiddle

事实证明,Edit2与Microsoft的库无关。

javascript

3
推荐指数
1
解决办法
876
查看次数

硬编码方法,仅存在于超类中的覆盖

最近我不得不上一个类,这个方法类似于这个

public boolean checkSomeThing() { return true; }
Run Code Online (Sandbox Code Playgroud)

此函数在执行复杂实例化的另一个私有函数的主体内使用.起初我以为它可能是一个复活节彩蛋,但后来我读了方法checkSomething()上的javadoc说:

"覆盖此功能以改变一些blabla".

读完之后,我意识到实际发生了什么.它是一种非常优雅和整洁的方式,可以访问一段代码中的变量,否则无法访问.

所以我的问题是这个技巧,模式或其他任何名称的名称是什么?使用它是否是一件好事,当我说要建造的课程是为了扩展时?

java design-patterns

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

使用流检查 List&lt;String&gt; 是否包含 List&lt;Object&gt; 中的所有元素

我有 2 个清单:

List<String> authorizedList ; // ["11","22","33"]
List<MySerial> serials; // [Myserial1,Myserial2,Myserial3] => 
Run Code Online (Sandbox Code Playgroud)

MySerial 是具有 2 个参数的对象,Myserial(String serial, String name)

我想使用流检查序列中的所有序列是否都在授权列表中,但我是新使用它的。

if (!serials.stream().map(MySerial::getSerial).anyMatch(authorizedList::equals)) {
    throw new UnauthorizedException();
}
Run Code Online (Sandbox Code Playgroud)

但它总是抛出异常。

java java-stream

0
推荐指数
1
解决办法
580
查看次数