我正在使用此方法将文件上传到我的服务器:
@Multipart
@POST("new")
Call<Response> send(@Part("myFile") byte[] file);
Run Code Online (Sandbox Code Playgroud)
我一直在阅读,有些人习惯TypedFile这样做,也许这比发送原始字节更容易,就像我正在做的那样.
TypedFile类是retrofit.mime包.但我没有.这个包已从2.0版本中删除了吗?或者我要添加另一个依赖项?哪一个?
谢谢.
我有一个处理图像的方法.该方法采用一个图像,对其执行一些操作并返回另一个图像:
public BufferedImage manipulateImage (Image image) {
...
}
Run Code Online (Sandbox Code Playgroud)
我不确定是否有针对此类活动编写单元测试的最佳实践.应该首先检查图像的哪些特征?如何检查图像是否没有损坏?例如,一旦我遇到问题,GIF图像在阅读ImageIO并保存后会变色.
ClassWriter cw = new ClassWriter(...);
byte[] bytes = cw.toByteArray();
Run Code Online (Sandbox Code Playgroud)
我想从bytes数组创建新的类实例.我该怎么做呢?有可能吗?
我已经设置了一个环境变量ANDROID_HOME,它指向我的android SDK位置.但是,每次我在Android Studio中打开项目时,它都会将local.properties文件放到项目的根目录中,并将我的SDK位置复制ANDROID_HOME到此文件中.我想ANDROID_HOME直接使用Android Studio ,而不需要生成local.properties.
为什么?我在Windows 10上使用Bash for Windows.我想在从Windows运行Android Studio时使用Bash运行命令行.为此,我需要两个ANDROID_HOME环境变量,一个用于Windows,一个用于Bash.这是因为虽然他们指向相同的(windows)android SDK格式是不同的,对于Windows,它是C:\Users\me\Android SDKBash的时候/mnt/c/Users/me/Android SDK.当Android Studio local.properties使用Windows路径创建时,Bash因为显然local.properties占据优势而被破坏ANDROID_HOME,因此我必须手动删除它.
我们有一个大量使用AJAX的JSF 2.0项目(由OpenFaces标记库提供).我们的项目非常酷,并且做了许多有用的事情,我们喜欢它.然而,有一件事让我们感到沮丧 - 我们的项目没有集成测试.完全没有.它当然有硒测试,但它们仅从用户的角度来涵盖项目.我喜欢的是一些可以处理与AJAX相关的逻辑的集成测试.但我不确定如何实现这一点...抓住我的想法是JSFUnit和HTTPUnit,但我想知道基于AJAX的JSF项目是否有更好的东西.有没有人对此有任何疑虑?谢谢!
在尝试了一个给我奇怪错误的预览版之后,我刚刚在Ubuntu Linux上安装了全新的Android Studio 1.1.0.我还删除了首选项目录以从头开始.
现在,即使有新项目,gradle sync也会因此错误而失败,我找不到原因或其他信息可以给我提示原因:
Error:Cause: org.jetbrains.plugins.gradle.tooling.ModelBuilderService: Provider org.jetbrains.plugins.gradle.tooling.builder.ExternalProjectBuilderImpl not found
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
我有java bean:
package com.denisk.beans;
...
public class SomeBean {
private String someProperty;
private AnotherBean anotherBean;
...
}
public class AnotherBean {
private String anotherProperty;
....
}
Run Code Online (Sandbox Code Playgroud)
我想为这些bean 生成一个stub xml spring配置,就像这样
<beans>
<bean id="someBean">
<property name="someProperty" value="sldfjslkdfjas;lfj"/>
<property name="anotherBean" ref="anotherBean"/>
</bean>
<bean id="anotherBean">
<property name="anotherProperty" value="klj;df;ksdjflsjkd;lfj"/>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
我想要使用一些工具来完成,它会接受我的bean作为输入的路径,如下所示:
denisk@denisk-work:~$ generateSpringXml -p "/home/denisk/myProject/src/main/java/com/denisk/beans" -output "/home/denisk/mySpringConfig.xml"
Run Code Online (Sandbox Code Playgroud)
不应该是一个大问题,但我不能谷歌这样的东西.
谢谢
我正在 chrome 开发工具的“网络”选项卡中观察到一系列重定向:
我需要能够在请求出现在“网络”中之后但在执行之前暂停重定向链(以便我可以将其复制为 cURL)。类似“暂停任何网络活动”之类的内容。我在 Chrome 开发工具、Firefox Web Developer、Firebug、Safari 中搜索过此功能 - 但没有结果。最接近的是 firebug 中的“Pause on XHR”,但这些重定向不是 XHR。
如果非浏览器解决方案(脚本?)能够完成工作,我会接受它,尽管我认为这应该可以通过浏览器开发工具实现。
我们有以下代码:
public class TestGenerics {
static <T> void mix(ArrayList<T> list, T t) {
System.out.println(t.getClass().getName());
T item = list.get(0);
t = item;
System.out.println(t.getClass().getName());
}
public static void main(String[] args) {
ArrayList<Object> list = new ArrayList<Object>();
list.add(new Integer(3));
mix(list, "hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
在输出中我得到:
java.lang.String
java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
这是无稽之谈 - 我们刚刚分配Integer到String没有得到ClassCastException!我们不能这样写:
String s = new Integer(3);
Run Code Online (Sandbox Code Playgroud)
但这就是我们刚刚在这里所做的.
这是一个bug还是什么?
想象一下,我们有以下课程:
public interface MyInterface<T> {
List<T> getList(T t);
}
abstract class BaseClass<T extends Number> implements MyInterface<T> {
@Override
public List<T> getList(Number t) {
return null;
}
}
class ChildClass extends BaseClass<Integer> {
@Override
public List<Integer> getList(Integer t) {
return super.getList(t); //this doesn't compile
}
}
Run Code Online (Sandbox Code Playgroud)
getList在ChildClass不编译时,输出为:
abstract method getList(T) in com.mypackage.MyInterface cannot be accessed directly
Run Code Online (Sandbox Code Playgroud)
我无法BaseClass.getList理解为什么在ChildClass中没有覆盖方法.
但令我完全困惑的是使其编译的修复:
class ChildClass extends BaseClass<Integer> {
@Override
public List<Integer> getList(Integer t) {
return super.getList((Number) t); //Now it compiles!
} …Run Code Online (Sandbox Code Playgroud) 不久前,我的一位同事对我说了些惊人的话:他说可以用javascript格式化硬盘!我只是回答说"不,这是不可能的".然而,他似乎非常自信,虽然他也提到这对于Windows来说是可能的......从那以后我不能放弃思考它,但我没有找到任何机会进行这样的黑客攻击..我倾向于认为他只是在开玩笑,我想证明这一点.但是,我仍然不能放弃这个"怎么办?" 我头脑中出现的问题......有没有人有任何想法?
我已经使用ASM对我的班级进行了检测并像这样处理了它
public class MyClassLoader extends ClassLoader {
...
byte[] classBytes = ... //the class is of type com.mypackage.Test
Class clazz = defineClass("com.mypackage.Test", classBytes, 0, classBytes.length);
resolveClass(clazz);
com.mypackage.Test test =(com.mypackage.Test) clazz.newInstance();
Run Code Online (Sandbox Code Playgroud)
但是我在最后一行得到ClassCastException:
java.lang.ClassCastException: com.mypackage.Test cannot be cast to com.mypackage.Test
Run Code Online (Sandbox Code Playgroud)
解决方法是使用反射:
Object test = clazz.newInstance();
test.getClass().getMethods()[0].invoke(test, null); //invoke some method - successfully
Run Code Online (Sandbox Code Playgroud)
我使用错误的类加载器还是什么?
java ×7
android ×3
generics ×2
javascript ×2
reflection ×2
unit-testing ×2
ajax ×1
assembly ×1
bytecode ×1
classloader ×1
collections ×1
filesystems ×1
firebug ×1
firefox ×1
formatting ×1
gradle ×1
hard-drive ×1
image ×1
inheritance ×1
jsf ×1
jsf-2 ×1
oop ×1
overriding ×1
retrofit ×1
safari ×1
spring ×1
sync ×1
xml ×1