短位的String转换为long
时间: 2023-09-10 11:15:36 浏览: 88
可以使用Java中的`Long.parseLong(String s)`方法将短位的字符串转换为`long`类型。如下所示:
```java
String shortString = "12345";
long longNumber = Long.parseLong(shortString);
```
其中,`shortString`是需要转换的短位字符串,`longNumber`是转换后得到的`long`类型的数字。需要注意的是,如果短位字符串的值超出了`long`类型的范围,会抛出`NumberFormatException`异常。
相关问题
java将短位的String存储在long类型的字段中
在Java中,可以将短位的字符串存储在long类型的字段中。具体方法是将短位字符串先转换为long类型的数字,然后将该数字存储到long类型的字段中。示例代码如下:
```java
public class ShortStringToLongField {
private long myLongField;
public void setShortString(String shortString) {
long longNumber = Long.parseLong(shortString);
myLongField = longNumber;
}
public long getLongField() {
return myLongField;
}
}
```
在上述代码中,`setShortString`方法接收一个短位字符串作为参数,将其转换为long类型的数字,并将该数字存储到`myLongField`字段中。`getLongField`方法返回`myLongField`字段的值。这样,就可以将短位的字符串存储在long类型的字段中了。
现在需要实现一个长链接转短链接的算法。该算法会将原始长链接转换成一个以"https://short.url/"开头的、后接6位映射字符的短链接。算法描述如下: ① 计算key值。key初始为1,每次与64相乘后,和网址每一位字符的ASCII值相加,并每次对56800235584取余。 ② 遇到key值冲突则每次key值加1取余,直到不冲突为止。 ③ 建立key值与6位字符的映射。每一位依次从后往前是key对62取余后在字典"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"中对应的字符,每取一次后key值整除62再取。 ④ 映射字符不够六位,前面加'0'。 输入一个字符串数组表示要映射的长地址,第二个字符串数组表示要恢复的短地址,请将长地址转换成短地址,短地址转换成长地址。(要恢复的短地址一定是第一个数组的长地址转换过去的) 示例1 输入:["http:www.baidu.com","http://www.nowcoder.com"],["http://tiny.urleNm26h"] 返回值:["http://tiny.urleNm26h","http://tiny.urlJc7hPD","http:www.baidu.com"]用java代码实现
好的,我给你编写一个 Java 程序来实现长链接转短链接的算法。
首先,我们需要定义一个类来表示长链接和短链接的对应关系。这个类应该包含两个字段,一个表示长链接,一个表示短链接。我们可以叫这个类 LinkMapping。
```
public class LinkMapping {
private String longLink;
private String shortLink;
public LinkMapping(String longLink, String shortLink) {
this.longLink = longLink;
this.shortLink = shortLink;
}
public String getLongLink() {
return longLink;
}
public String getShortLink() {
return shortLink;
}
}
```
然后,我们可以定义一个静态方法来计算长链接的 key 值。这个方法接受一个长链接字符串,返回一个 long 类型的 key 值。
```
private static long computeKey(String longLink) {
long key = 1;
for (int i = 0; i < longLink.length(); i++) {
key = (key * 64 + longLink.charAt(i)) % 56800235584L;
}
return key;
}
```
然后,我们可以定义一个方法来转换长链接到短链接。这个方法接受一个长链接字符串,返回一个短链接字符串。
```
public static String longToShort(String longLink) {
// 计算 key 值
long key = computeKey(longLink);
// 建立 key 值与 6 位字符的映射
StringBuilder shortLink = new StringBuilder();
for (int i = 0; i < 6; i++) {
char c = DICTIONARY.charAt((int) (key % 62));
shortLink.append(c);
key /= 62;
}
// 映
阅读全文