小编pjj*_*pjj的帖子

如何使用Java 8流将字符串数组转换为Big-integer数组

我有一个String数组,我想使用Java 8流将其转换为BigInteger数组。

String[] output = bigSorting(new String[]{"31415926535897932384626433832795", "1", "4900146572543628830293235422623540449026979", "10", "57500297590012603652986133599394871645776460", "5", 
                    "497010206818067722087306230802257700034825862515267073569769100385728461314", "57500297590012603652986133599394871645776460497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314"});
        Object[] unsortedBigIntegerArr = convertFromStringArrayToBigIntegerArray(output);
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的方法,但是我无法获取BigInteger数组,但是却能够获取Object数组。

private static Object[] convertFromStringArrayToBigIntegerArray(String[] unsorted) {
        return Arrays.stream(unsorted).map(BigSorting2::convertFromStringToBigInteger).toArray();
    }

    private static BigInteger convertFromStringToBigInteger(String unsorted) {
        return new BigInteger(unsorted);
    }
Run Code Online (Sandbox Code Playgroud)

有什么办法可以使用Java 8流完全完成它。

java biginteger java-8 java-stream

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

Kubernetes 是否总是给正在运行的容器一个 shell

我的 Pod 清单如下:

apiVersion: v1
kind: Pod
metadata:
  name: pod-nginx-container
spec:
  containers:
  - name: nginx-alpine-container-1
    image: nginx:alpine
    ports:
      - containerPort: 80
Run Code Online (Sandbox Code Playgroud)

我可以使用运行我的 Nginx 的容器获得一个 shell kubectl exec --stdin --tty pod-nginx-container -- /bin/sh

我的问题是 Kubernetes 是否总是为正在运行的容器提供一个 shell?我的意思是假设我已经创建了自己的 Tomcat 网络服务器映像,当我使用该映像时,我是否仍然可以让 shell 登录到运行 Tomcat 的容器?

kubernetes google-kubernetes-engine

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

BigDecimal 2.0 即将等于 BigDecimal 2.00

我读过BigDecimal.equals() 的 Java 文档说

比较此 BigDecimal 与指定的 Object 是否相等。与compareTo不同的是,只有当两个BigDecimal对象的值和小数位数相等时,此方法才认为它们相等(因此,通过此方法比较时,2.0不等于2.00)。

但是当我测试它时,不知何故我得到了意想不到的结果并且BigDecimal(2.0)等于BigDecimal(2.00)。我认为出于同样的原因,当我放入andBigDecimal(2.0)时,大小为 1,而我期望大小为 2。请参阅下面的代码,如果有人可以指出我是否遗漏了某些内容?BigDecimal(2.00)HashSet

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class CollectionTest {
    
    public static void main(String[] args) {
        System.out.println(new BigDecimal(2.0).compareTo(new BigDecimal(2.00))); // 0
        System.out.println(new BigDecimal(2.0).equals(new BigDecimal(2.00))); // true   -- ** UNEXPECTED **
        
        HashSet<BigDecimal> hashset = new HashSet<>();
        Set<BigDecimal> treeset = new TreeSet<>();
        
        hashset.add(new BigDecimal(2.0));
        hashset.add(new BigDecimal(2.00));
        
        treeset.add(new BigDecimal(2.0));
        treeset.add(new BigDecimal(2.00));
        
        System.out.println("hashset.size(): " + hashset.size());    // 1 …
Run Code Online (Sandbox Code Playgroud)

java hashset bigdecimal

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

空字符是不可能的,但空字符串是可能的

我们不能像这样创建空字符char ch = '';,这是可以理解的,因为 ASCII 中没有空字符。有 NULL 字符和白色字符,但这些不是空字符,所以char ch = '\0';是可能的,但不是char ch = '';.

现在,我们可以在 Java 中创建一个空字符串,而字符串只不过是一个字符数组,所以不知道如何存储空字符串?


编辑:

我同意每个人的看法,在 Java 中 String 不是字符数组,但最终存储字符串时会有字符出现,否则我会想知道字符串是如何存储的,我的意思是最后字符串中的每个字符都将被存储作为 BYTE,现在如何存储空字符串?

java

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