Java的使用时间更久,更成熟,Python语言更年轻,更便捷。
两者各有各的优势:也是目前被IT行业广泛采用的编程语言,二者之间的很多应用场景是重合的,所以也就存在一个对比的基础。
市场上 Java 工作职位要更多一些。甚至有些大数据的岗位,不仅要求 Python,也需要掌握 Java。技多不压身,趁年轻多学习。
如果转岗的话,还需要有个适应过程:
1、操作习惯会不同,比如,java行末必须加分号,Python 里加了也不会报错,但并不强制,Java 的语句不加就会报错;
2、语法理解上,java面向对象的概念更加强烈。用 Python 时,会更多地一行一行跑结果出来,再把可以封装成函数的进行封装,再回头来定义类。
import Crypto.Cipher.DESimport hashlib.md5
import static python.lang.System
public class Test{
public static void main(String[] args)
{
String key = "\x32\x8D\xD2\x0B\xC3\xE6\xD2\xCF"
DES crypto = new DES(key, DES.MODE_ECB)
String data = open('a.txt', 'rb').read()
Object[] data_decrypted = crypto.decrypt(data).rstrip("\0")
/**这个,后面的有点不兼容。其实不知道DES、md5的源码也改不了,而且java又不能直接调用其中的python代码,除非你写相应的java代码和他们映射**/
}
}
import java.util.ArrayListimport java.util.List
/**
*
* 33行,add的值是对象的话,定义list就不用String,用对象,
* 同样38行,可以分别取对象的值,如果想要数组的话,再转化下就可以
* @author
*
*/
public class Test {
/**
*这几个静态属性,是你其他地方传来的,你可以在调用queryblocks()时作为参数传递给这个方
*法
*/
private static int YunHash_HASHLENGTH = 2
private static int config_maxfilesize = 3
private static int MAXBLOCKSIZE = 4
public static void main(String[] args) {
}
public List<String>queryblocks(String str)
{
String data= str//request.body.read()
if (data.length()%YunHash_HASHLENGTH !=0
|| data.length()>config_maxfilesize/MAXBLOCKSIZE*YunHash_HASHLENGTH
){
return errorRespose(400,"BADHASHLIST")
}
int s = 0
List<String>lis = new ArrayList<String>()
while(s <data.length()){
String hash = data.substring(s, s+YunHash_HASHLENGTH)
lis.add("放注释里的值")//dbsession.execute_async(hashblocks_get_statement.bind((hash,)))
s += YunHash_HASHLENGTH
}
List<String>lis1 = new ArrayList<String>()
for (String string : lis) {
lis1.add(string)
}
return lis1
}
public List<String>errorRespose(int code, String message){
List<String>list = new ArrayList<String>()
list.add(""+code+"--"+message)
return list
}
}