mysql使用set类型_java修改request请求参数

mysql使用set类型_java修改request请求参数Iamtryingtosendmultipleimagestoserverbut,soIamstoringalltheimagesinonearraylist,butafterthatwhenIneedtosendtoserver,itshowserrornearline,,………………….conn.set…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

mysql使用set类型_java修改request请求参数

I am trying to send multiple images to server but,so I am storing all the images in one arraylist,but after that when I need to send to server,it shows error near line ,,………………….

conn.setRequestProperty(“image”, multimgss);

error

The method setRequestProperty(String, String) in the type URLConnection is not applicable for the arguments (String, ArrayList)..

MainActivity

public int uploadFile(String sourceFileUri) {

String fileName = sourceFileUri;

/*String[] mimgs = null;

mimgs.equals(fileName);*/

ArrayList multimgss=new ArrayList();

multimgss.add(fileName);

System.out.println(“multipleimagesss”+multimgss);

try {

abcd = new JSONArray(multimgss.toString());

} catch (JSONException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

//abcd=multimgss.add(fileName);

HttpURLConnection conn = null;

DataOutputStream dos = null;

String lineEnd = “\r\n”;

String twoHyphens = “–“;

String boundary = “*****”;

int bytesRead, bytesAvailable, bufferSize;

byte[] buffer;

int maxBufferSize = 1 * 1024 * 1024;

File sourceFile = new File(sourceFileUri);

if (!sourceFile.isFile()) {

dialog.dismiss();

Log.e(“uploadFile”, “Source File not exist :”+imagepath);

runOnUiThread(new Runnable() {

public void run() {

messageText.setText(“Source File not exist :”+ imagepath);

}

});

return 0;

}

else

{

try {

String cats[]=acTextView.getText().toString().split(“,”);

JsonParse jp=new JsonParse();

for(String cat:cats){

List list =jp.getParseJsonWCF(acTextView.getText().toString());

for(int i = 0;i

if(list.get(i).getName().equals(cat))

catid.add(list.get(i).getId().toString());

//params.add(new BasicNameValuePair(“parentid”,list.get(i).getId()));

}

}

catsids=catid.toString();

pname = proname.getText().toString();

pskucode = proskucode.getText().toString();

psalerate=prosalerate.getText().toString();

ppurchaserate=propurchaserate.getText().toString();

pweight = proweight.getText().toString();

pweighttype=proweighttype.getText().toString();

// pproactives = proactives.getTag().toString();

System.out.println(“active nu stauts”+catsids);

// pdisporder = prodisporder.getText().toString();

pdesc = prodesc.getText().toString();

upLoadServerUri = “http://webistname/web-service/addproduct.php?action=addproduct&name=”+pname+”&categoryid=”+catsids+”&skucode=”+pskucode+”&sale_rate=”+psalerate+”&purchase_rate=”+ppurchaserate+”&weight=”+pweight+”&weighttype=”+pweighttype+”&description=hello&image=”+abcd;

// open a URL connection to the Servlet

FileInputStream fileInputStream = new FileInputStream(sourceFile);

URL url = new URL(upLoadServerUri);

// Open a HTTP connection to the URL

conn = (HttpURLConnection) url.openConnection();

conn.setDoInput(true); // Allow Inputs

conn.setDoOutput(true); // Allow Outputs

conn.setUseCaches(false); // Don’t use a Cached Copy

conn.setRequestMethod(“POST”);

conn.setRequestProperty(“Connection”, “Keep-Alive”);

conn.setRequestProperty(“ENCTYPE”, “multipart/form-data”);

conn.setRequestProperty(“Content-Type”, “multipart/form-data;boundary=” + boundary);

conn.setRequestProperty(“name”, pname);

conn.setRequestProperty(“categoryid”, catsids);

conn.setRequestProperty(“skucode”, pskucode);

conn.setRequestProperty(“sale_rate”, psalerate);

conn.setRequestProperty(“purchase_rate”, ppurchaserate);

conn.setRequestProperty(“weight”, pweight);

conn.setRequestProperty(“weighttype”, pweighttype);

conn.setRequestProperty(“description”, “hello”);

// conn.setRequestProperty(“displayorder”, pdisporder);

// conn.setRequestProperty(“active”, pproactives);

conn.setRequestProperty(“image”, abcd.toString());

dos = new DataOutputStream(conn.getOutputStream());

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“Content-Disposition: form-data; name=\”type\””

+ lineEnd);

dos.writeBytes(lineEnd);

// assign value

/*dos.writeBytes(“version=apps”);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);*/

dos.writeBytes(“name=”+pname);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“categoryid=”+catsids);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“skucode=”+pskucode);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“sale_rate=”+psalerate);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“purchase_rate=”+ppurchaserate);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“weight=”+pweight);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“weighttype=”+pweighttype);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“description=”+”hello”);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

/* dos.writeBytes(“displayorder=”+pdisporder);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“active=”+pproactives);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);*/

dos.writeBytes(“Content-Disposition: form-data; name=\”image\”;filename=\””

+ abcd.toString() + “\”” + lineEnd);

dos.writeBytes(lineEnd);

// create a buffer of maximum size

bytesAvailable = fileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

buffer = new byte[bufferSize];

// read file and write it into form…

bytesRead = fileInputStream.read(buffer, 0, bufferSize);

while (bytesRead > 0) {

dos.write(buffer, 0, bufferSize);

bytesAvailable = fileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

bytesRead = fileInputStream.read(buffer, 0, bufferSize);

}

// send multipart form data necesssary after file data…

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

// Responses from the server (code and message)

serverResponseCode = conn.getResponseCode();

String serverResponseMessage = conn.getResponseMessage();

Log.i(“uploadFile”, “HTTP Response is : “

+ serverResponseMessage + “: ” + serverResponseCode);

if(serverResponseCode == 200){

runOnUiThread(new Runnable() {

public void run() {

String msg = “File Upload Completed.\n\n See uploaded file here : \n\n”

+” F:/wamp/wamp/www/uploads”;

messageText.setText(msg);

Toast.makeText(MainActivity.this, “File Upload Complete.”, Toast.LENGTH_SHORT).show();

}

});

}

Fullcode

public class MainActivity extends Activity implements OnClickListener {

private static int RESULT_LOAD_IMAGE = 1;

private TextView messageText;

private Button uploadButton;

private ImageView imageview;

private int serverResponseCode = 0;

private ProgressDialog dialog = null;

private String upLoadServerUri = null;

private String imagepath=null;

private EditText proname;

private EditText proskucode;

private EditText prodesc;

//private CheckBox proactives;

private ImageView btnselectpic;

private String pskucode;

private EditText prosalerate;

private EditText propurchaserate;

private EditText proweight;

private EditText proweighttype;

//private EditText prodisporder;

private String pname;

private String psalerate;

private String ppurchaserate;

private String pweight;

private String pweighttype;

private String pproactives;

private String pdisporder;

private String pdesc;

private List catid=new ArrayList();

private AutoCompleteTextView acTextView;

private String catsids;

private Uri selectedImageUri;

private int columnIndex;

private ImageAdapter objImageAdapter;

private GridView gridView;

private JSONArray abcd;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

gridView = (GridView) findViewById(R.id.gridview);

//gridView.setAdapter(new ImageAdapter(this));

objImageAdapter= new ImageAdapter(this);

gridView.setAdapter(objImageAdapter);

gridView.setOnItemClickListener(new OnItemClickListener()

{

public void onItemClick(AdapterView> parent,

View v, int position, long id)

{

Toast.makeText(getBaseContext(),

“pic” + (position + 1) + ” selected”,

Toast.LENGTH_SHORT).show();

}

});

acTextView = (AutoCompleteTextView) findViewById(R.id.multautoComplete);

acTextView.setAdapter(new SuggestionAdapter(this,acTextView.getText().toString()));

// acTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

proname=(EditText)findViewById(R.id.edt_proname);

proskucode=(EditText)findViewById(R.id.edt_proskucode);

prosalerate=(EditText)findViewById(R.id.edt_salerate);

propurchaserate=(EditText)findViewById(R.id.edt_purchaserate);

proweight=(EditText)findViewById(R.id.edt_weight);

proweighttype=(EditText)findViewById(R.id.edt_weighttype);

// prodesc=(EditText)findViewById(R.id.edt_desc);

// prodisporder=(EditText)findViewById(R.id.edt_disporder);

// proactives=(CheckBox)findViewById(R.id.edt_proactive);

uploadButton = (Button)findViewById(R.id.btn_addpro);

messageText = (TextView)findViewById(R.id.edt_imgs);

btnselectpic = (ImageView)findViewById(R.id.browsesimgs);

imageview = (ImageView)findViewById(R.id.imagevw);

btnselectpic.setOnClickListener(this);

uploadButton.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

if(arg0==btnselectpic)

{

/*Intent intent=new Intent(MainActivity.this,PhotoSelection.class);

startActivity(intent);*/

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType(“image/*”);

startActivityForResult(intent, 1);

/*Intent intent = new Intent();

intent.setType(“image/*”);

intent.setAction(Intent.ACTION_GET_CONTENT);

startActivityForResult(Intent.createChooser(intent, “Complete action using”), 1);*/

/*Intent i = new Intent(Action.ACTION_MULTIPLE_PICK);

startActivityForResult(i, 200);*/

}

else if (arg0==uploadButton) {

dialog = ProgressDialog.show(MainActivity.this, “”, “Uploading file…”, true);

messageText.setText(“uploading started…..”);

new Thread(new Runnable() {

public void run() {

uploadFile(imagepath);

}

}).start();

}

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {

selectedImageUri= data.getData();

String[] filePathColumn = { MediaStore.Images.Media.DATA };

Cursor cursor = getContentResolver().query(selectedImageUri,

filePathColumn, null, null, null);

cursor.moveToFirst();

/* columnIndex = cursor.getColumnIndex(filePathColumn[0]);

picturePath = cursor.getString(columnIndex);

cursor.close();*/

// imageView = (ImageView) findViewById(R.id.imgView);

imageview.setImageBitmap(BitmapFactory.decodeFile(imagepath));

columnIndex = cursor.getColumnIndex(filePathColumn[0]);

String picturePath = cursor.getString(columnIndex);

objImageAdapter.addToList(picturePath);

cursor.close();

// addmores.setVisibility(View.VISIBLE);

}

/*if (requestCode == 1 && resultCode == RESULT_OK) {

//Bitmap photo = (Bitmap) data.getData().getPath();

selectedImageUri = data.getData();

imagepath = getPath(selectedImageUri);

Bitmap bitmap=BitmapFactory.decodeFile(imagepath);

imageview.setImageBitmap(bitmap);

messageText.setText(“Uploading file path:” +imagepath);

}*/

}

public String getPath(Uri uri) {

String[] projection = { MediaStore.Images.Media.DATA };

Cursor cursor = managedQuery(uri, projection, null, null, null);

int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

cursor.moveToFirst();

return cursor.getString(column_index);

}

public class ImageAdapter extends BaseAdapter

{

private Context context;

ArrayList arrayList=new ArrayList();

public ImageAdapter(Context c)

{

context = c;

}

//—returns the number of images—

public int getCount() {

return arrayList.size();

}

//—returns the ID of an item—

public Object getItem(int position) {

return position;

}

void addToList(String strPath)

{

this.arrayList.add(strPath);

this.notifyDataSetChanged();

}

public long getItemId(int position) {

return position;

}

//In this array you have to store all images path which is you want to display in baseapater and must be global to access in baseapater

public View getView(int position, View convertView, ViewGroup parent)

{

ImageView imageView;

if (convertView == null) {

imageView = new ImageView(context);

imageView.setLayoutParams(new GridView.LayoutParams(185, 185));

imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

imageView.setPadding(5, 5, 5, 5);

} else {

imageView = (ImageView) convertView;

}

String path = arrayList.get(position);

Bitmap myBitmap = BitmapFactory.decodeFile(path);

imageView.setImageBitmap(myBitmap);

return imageView;

}

}

public int uploadFile(String sourceFileUri) {

String fileName = sourceFileUri;

/*String[] mimgs = null;

mimgs.equals(fileName);*/

ArrayList multimgss=new ArrayList();

multimgss.add(fileName);

System.out.println(“multipleimagesss”+multimgss);

try {

abcd = new JSONArray(multimgss.toString());

} catch (JSONException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

//abcd=multimgss.add(fileName);

HttpURLConnection conn = null;

DataOutputStream dos = null;

String lineEnd = “\r\n”;

String twoHyphens = “–“;

String boundary = “*****”;

int bytesRead, bytesAvailable, bufferSize;

byte[] buffer;

int maxBufferSize = 1 * 1024 * 1024;

File sourceFile = new File(sourceFileUri);

if (!sourceFile.isFile()) {

dialog.dismiss();

Log.e(“uploadFile”, “Source File not exist :”+imagepath);

runOnUiThread(new Runnable() {

public void run() {

messageText.setText(“Source File not exist :”+ imagepath);

}

});

return 0;

}

else

{

try {

String cats[]=acTextView.getText().toString().split(“,”);

JsonParse jp=new JsonParse();

for(String cat:cats){

List list =jp.getParseJsonWCF(acTextView.getText().toString());

for(int i = 0;i

if(list.get(i).getName().equals(cat))

catid.add(list.get(i).getId().toString());

//params.add(new BasicNameValuePair(“parentid”,list.get(i).getId()));

}

}

catsids=catid.toString();

pname = proname.getText().toString();

pskucode = proskucode.getText().toString();

psalerate=prosalerate.getText().toString();

ppurchaserate=propurchaserate.getText().toString();

pweight = proweight.getText().toString();

pweighttype=proweighttype.getText().toString();

// pproactives = proactives.getTag().toString();

System.out.println(“active nu stauts”+catsids);

// pdisporder = prodisporder.getText().toString();

pdesc = prodesc.getText().toString();

upLoadServerUri = “http://mywebsitename/web-service/addproduct.php?action=addproduct&name=”+pname+”&categoryid=”+catsids+”&skucode=”+pskucode+”&sale_rate=”+psalerate+”&purchase_rate=”+ppurchaserate+”&weight=”+pweight+”&weighttype=”+pweighttype+”&description=hello&image=”+abcd;

// open a URL connection to the Servlet

FileInputStream fileInputStream = new FileInputStream(sourceFile);

URL url = new URL(upLoadServerUri);

// Open a HTTP connection to the URL

conn = (HttpURLConnection) url.openConnection();

conn.setDoInput(true); // Allow Inputs

conn.setDoOutput(true); // Allow Outputs

conn.setUseCaches(false); // Don’t use a Cached Copy

conn.setRequestMethod(“POST”);

conn.setRequestProperty(“Connection”, “Keep-Alive”);

conn.setRequestProperty(“ENCTYPE”, “multipart/form-data”);

conn.setRequestProperty(“Content-Type”, “multipart/form-data;boundary=” + boundary);

conn.setRequestProperty(“name”, pname);

conn.setRequestProperty(“categoryid”, catsids);

conn.setRequestProperty(“skucode”, pskucode);

conn.setRequestProperty(“sale_rate”, psalerate);

conn.setRequestProperty(“purchase_rate”, ppurchaserate);

conn.setRequestProperty(“weight”, pweight);

conn.setRequestProperty(“weighttype”, pweighttype);

conn.setRequestProperty(“description”, “hello”);

conn.setRequestProperty(“image”, abcd.toString());

dos = new DataOutputStream(conn.getOutputStream());

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“Content-Disposition: form-data; name=\”type\””

+ lineEnd);

dos.writeBytes(lineEnd);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);*/

dos.writeBytes(“name=”+pname);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“categoryid=”+catsids);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“skucode=”+pskucode);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“sale_rate=”+psalerate);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“purchase_rate=”+ppurchaserate);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“weight=”+pweight);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“weighttype=”+pweighttype);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“description=”+”hello”);

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes(“Content-Disposition: form-data; name=\”image\”;filename=\””

+ abcd.toString() + “\”” + lineEnd);

dos.writeBytes(lineEnd);

// create a buffer of maximum size

bytesAvailable = fileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

buffer = new byte[bufferSize];

// read file and write it into form…

bytesRead = fileInputStream.read(buffer, 0, bufferSize);

while (bytesRead > 0) {

dos.write(buffer, 0, bufferSize);

bytesAvailable = fileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

bytesRead = fileInputStream.read(buffer, 0, bufferSize);

}

// send multipart form data necesssary after file data…

dos.writeBytes(lineEnd);

dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

// Responses from the server (code and message)

serverResponseCode = conn.getResponseCode();

String serverResponseMessage = conn.getResponseMessage();

Log.i(“uploadFile”, “HTTP Response is : “

+ serverResponseMessage + “: ” + serverResponseCode);

if(serverResponseCode == 200){

runOnUiThread(new Runnable() {

public void run() {

String msg = “File Upload Completed.\n\n See uploaded file here : \n\n”

+” F:/wamp/wamp/www/uploads”;

messageText.setText(msg);

Toast.makeText(MainActivity.this, “File Upload Complete.”, Toast.LENGTH_SHORT).show();

}

});

}

fileInputStream.close();

dos.flush();

dos.close();

} catch (MalformedURLException ex) {

dialog.dismiss();

ex.printStackTrace();

runOnUiThread(new Runnable() {

public void run() {

messageText.setText(“MalformedURLException Exception : check script url.”);

Toast.makeText(MainActivity.this, “MalformedURLException”, Toast.LENGTH_SHORT).show();

}

});

Log.e(“Upload file to server”, “error: ” + ex.getMessage(), ex);

} catch (Exception e) {

dialog.dismiss();

e.printStackTrace();

runOnUiThread(new Runnable() {

public void run() {

messageText.setText(“Got Exception : see logcat “);

Toast.makeText(MainActivity.this, “Got Exception : see logcat “, Toast.LENGTH_SHORT).show();

}

});

Log.e(“Upload file to server Exception”, “Exception : ” + e.getMessage(), e);

}

dialog.dismiss();

return serverResponseCode;

}

}

}

ASRed.png

解决方案

setRequestProperty method only accept String instead of ArrayList . get JSONArray from ArrayList as:

JSONArray jsonArrayImgs=new JSONArray();

ArrayList multimgss=new ArrayList();

for (String string : multimgss)

{

jsonArrayImgs.put(string);

}

Now pass jsonArrayImgs to setRequestProperty :

conn.setRequestProperty(“image”, jsonArrayImgs.toString());

EDIT:

sourceFileUri is null . so update getItem method as of Adapter:

public String getItem(int position) {

return arrayList.get[position];

}

now inside onItemClick of GridView asign selected image path to sourceFileUri as:

public void onItemClick(AdapterView> parent,

View v, int position, long id)

{

imagepath=objImageAdapter.getItem(position);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195219.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • murmurhash2算法python3版本

    murmurhash2算法python3版本在翻译加密代码时遇到这个murmurhash2算法了,网上找了几个现成的加密结果对不上,自己手动对照原加密翻译了一般python3版本的。#-*-coding:utf-8-*-#@Time:2021/8/2614:40#@Note:Pleasedonotusethisprogramforillegaluses.importctypesdefunsigned_right_shitf(num,bit):returnctypes.c

    2022年10月18日
    5
  • 必读,sql加索引调优案例和explain extended说明

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!昨天分享了Mysql中的 explain 命令,使用 explain 来分析 select 语句的运行效果,如 :explain可以获得select语句使用的索引情况、排序的情况等等。链接:顺便提到了explain extended,有小伙伴留言说想知道一些explain extended,那今天就在简单讲解一下。…

    2022年2月28日
    37
  • python爬虫-数据解析(bs4)

    python爬虫-数据解析(bs4)

    2021年4月15日
    167
  • Supplier接口

    Supplier接口目录一 Supplier 接口源码二 Supplier 示例三 其他 Supplier 接口一 Supplier 接口源码 publicinterf T Getsaresult returnaresul Tget Supplier 接口是一个供给型的接口 本质就是一个容器 可以用来存储数据 或者是产生数据的规则 然后可以供其 T

    2025年6月11日
    2
  • JavaScript中的类型判断

    JavaScript中的类型判断js 中的类型判断 1 使用 typeof 进行类型判断 2 使用 instanceof 判断对象 3 使用 Array isArray 判断数组 1 使用 typeof 进行类型判断 functionfun console log 数字的类型为 typeof 1 console log 字符串的类型为 typeof hello console log 布尔值的类型为 typeof true console log undefined 的类型为

    2025年6月29日
    4
  • activity_main.xml: java.lang.NullPointerException[通俗易懂]

    activity_main.xml: java.lang.NullPointerException

    2022年1月22日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号