我有一个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流完全完成它。
我的 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 的容器?
我读过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) 我们不能像这样创建空字符char ch = '';,这是可以理解的,因为 ASCII 中没有空字符。有 NULL 字符和白色字符,但这些不是空字符,所以char ch = '\0';是可能的,但不是char ch = '';.
现在,我们可以在 Java 中创建一个空字符串,而字符串只不过是一个字符数组,所以不知道如何存储空字符串?
我同意每个人的看法,在 Java 中 String 不是字符数组,但最终存储字符串时会有字符出现,否则我会想知道字符串是如何存储的,我的意思是最后字符串中的每个字符都将被存储作为 BYTE,现在如何存储空字符串?