标签: java-8

为什么字符串'java'无法添加到'String Pool'

以下代码让我感到困惑,任何人都可以解释为什么这两个测试表现不同?为什么第一个测试中的String比较返回false而第二个测试中的比较返回true

 public class Student {

/**
 *  Why the string "java" doesn't added to the 'String Pool' by intern() method ?
 */
@Test
public void test1() {
    String str1 = new String("ja") + new String("va");
    str1.intern();
    String str2 = "java";
    // Result:false
    System.out.println("Result:" + (str1 == str2));
}

/**
 *  Any other strings will be added to 'String Pool' as expected after intern() is invoked.
 */
@Test
public void test2() {
    String str1 = new String("ja1") …
Run Code Online (Sandbox Code Playgroud)

java java-8

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

如何从数组的所有元素中减去常量值?

我有一个数组,例如我想从数组的所有元素中减去7.除了以下逻辑,我该怎么做呢.

for (int i = 0; i < array.length; i++)
{
    array[i]-=7;
}
Run Code Online (Sandbox Code Playgroud)

任何相关的流都会有所帮助.

编辑 - 它不应该是一个数组.它也可以是ArrayList.

java java-8 java-stream

-1
推荐指数
1
解决办法
588
查看次数

在Optional中使用hashCode的目的是什么

有人可以解释为什么java人会覆盖hascodein 的目的Optional

java api-design hashcode optional java-8

-1
推荐指数
1
解决办法
180
查看次数

Java 8中是否存在如何在最小大小条件下从列表中删除项目?

我想从列表中删除一个项目,如果它不是集合中的最后一个.

例如:

List<String> items = ....
Iterator<String> it = items.iterator();
while (it.hasNext() && items.size() > 1) {
String item = it.next();
   if (condition(item)) {
     it.remove();
   }
}
Run Code Online (Sandbox Code Playgroud)

是否可以通过在Java 8中使用流以更优雅的方式执行相同的操作?

java java-8 java-stream

-1
推荐指数
1
解决办法
92
查看次数

如何在java-8中找到流类型

我有使用Streamobject作为参数的方法,在该方法中我必须根据Stream类型执行一些操作.但是instanceof不起作用并且给我编译错误

public <T>boolean objectIsNullOREmpty(Stream<T> str) {
    if(str instanceof Stream<String>) {
        //do some actions
    }

    if(Str instanceof Stream<SomeClass>) {
        //do some actions
    }
}
Run Code Online (Sandbox Code Playgroud)

编译错误

无法对参数化类型Stream执行instanceof检查.请使用表单Stream,因为在运行时将删除其他泛型类型信息

java java-8

-1
推荐指数
1
解决办法
203
查看次数

将单个对象和对象列表合并到Java中的单个对象列表中

给出一个对象列表

// ["A", ["B", null, "C"], "D", ["E"], [], null, "F"];
List<Object> objects = Arrays.asList("A", Arrays.asList("B", null, "C"), "D", Arrays.asList("E"), Arrays.asList(), null, "F");
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将非空值组合到一个列表中["A", "B", "C", "D", "E", "F"]

有些人坚持认为帖子必须显示尝试的内容

objects.stream().map(o -> {
        if (o instanceof List) {
            return ((List) o).stream();
        } else return objects.stream();
    }).filter(Objects::nonNull).collect(Collectors.toList()));
Run Code Online (Sandbox Code Playgroud)

显然上面没有用.

java list arraylist java-8 java-stream

-1
推荐指数
1
解决办法
105
查看次数

Java 8流修复中间流方法不应该留下未使用的声纳问题

 group.getTeamMemberIds().stream().filter(id -> userMap.containsKey(id)).
            map(id -> groupDTO.getTeamMembers().add(userMap.get(id)));
Run Code Online (Sandbox Code Playgroud)

Sonar检测到这一点,因为中间流方法不应该被闲置主要bug

java java-8 java-stream sonarqube

-1
推荐指数
1
解决办法
280
查看次数

在Java 8中,接口默认方法可以访问实例变量吗?

TL; TD在Java 8中,有一种接口默认方法来访问实例变量的方法吗?

例如:

public interface Foo{
    default getBazModified(){
       return baz * 2; 
    }
}

public class Bar implements Foo {
   int baz;
   ...
}
Run Code Online (Sandbox Code Playgroud)

我知道这听起来像travisty但是有没有办法在Java 8中做类似的事情?

或者唯一的方法是有一个实现Foo的抽象类,它将声明实例变量baz并具有getBazModified()的默认实现?

java java-8

-1
推荐指数
1
解决办法
979
查看次数

Oracle JDK到OpenJDK

所以我目前正在Oracle JDK 8中构建我的所有应用程序.Oracle授权策略更新是否会影响JDK 8的使用,或者仅用于JDK 11 LTS.假设如果我想在不久的将来迁移到JDK 11,我可以在GPL下选择OpenJDK进行生产吗?在GCL下BCL和OpenJDK下的Oracle JDK源代码是否有任何变化?我可以互换使用吗?

java java-8 java-11

-1
推荐指数
1
解决办法
1268
查看次数

如何使用基本类型初始化类的对象

我见过各种线程,其中大多数都在谈论默认值,例如Primitive用0初始化,而Wrappers用null初始化。我的问题是具体的,仅举例而不是概念。

我的课:

public class Subject {
    int subCode;
    int marks;
    long CGPA;

    public Subject(int subCode, int marks, long CGPA) {
        this.subCode = subCode;
        this.marks = marks;
        this.CGPA = CGPA;
    }

}
Run Code Online (Sandbox Code Playgroud)

现在在我的主班上去我的地图:

Map<Integer,List<Subject>> map1 = new HashMap<>();
        map1.put(Integer.valueOf(1),new Subject(001,70,29l));
Run Code Online (Sandbox Code Playgroud)

我在中遇到错误29l,我尝试过各种形式,例如Long.Valueof(29),但它们不起作用。

谁能告诉我一个概念,即在一个类的字段中何时存在原始类型,然后如何使用构造函数创建该类的实例。

注意:我完全知道我应该在这里使用Wrapper类,但是现在我想尝试使用Primer,这只是为了我的学习。

谢谢。

java java-8

-1
推荐指数
1
解决办法
60
查看次数